package com.googlecode.phelixj;
import com.googlecode.phelixj.Phelix;
import java.util.Random;

/**
 * This is an implementation of the Known Answer Tests (KAT) for Phelix
 * from the phelixKAT.h entry of the Zip archive
 * <a href="http://www.schneier.com/code/phelix.zip">http://www.schneier.com/code/phelix.zip</a>.
 *<pre>
 *  Copyright (C) 2006 Michael Amling
 *
 *  This library is free software; you can redistribute it and/or
 *  modify it under the terms of the GNU Lesser General Public
 *  License as published by the Free Software Foundation; either
 *  version 2.1 of the License, or (at your option) any later version.
 *
 *  This library is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *  Lesser General Public License for more details.
 *
 *  You should have received a copy of the GNU Lesser General Public
 *  License along with this library; if not, write to the
 *  Free Software Foundation, Inc.
 *  51 Franklin Street, Fifth Floor
 *  Boston, MA  02110-1301  USA
 *</pre>
 * @author Mike Amling mamling@gmail.com
 */
public final class PhelixTest {

private static final Random NOISE=new Random();

/**
 * Attempt all 148 Known Answer Tests. 94 of them will fail because they
 * specify a key of fewer than 16 bytes, unless <code>Phelix</code> is
 * compiled with <code>TESTING=true</code>.
 */
public static void main(final String[] args) {
	for (int jj=0; jj<KAT.length/7; ++jj) {
		System.out.println("KAT #"+(jj+1));
		performTest(jj);
	}
}

private static final int PER_LINE=16;

/**
 * Prints hexadecimal dump of the passed <code>byte</code> array to <code>System.out</code>.
 *<pre>
 * Each line of the output has
 *   a 6-hex-character offset of that line's data from the beginning;
 *   a 16-character transalation to printable characters of the data;
 *   the data, in 4 8-hex-character blocks.
 *</pre>
 * @param data <code>byte</code> array to be printed in hexadecimal
 */
private static void dump(final byte[] data) {
	for (int jj=0; jj<data.length; ) {
		if (jj%4==0) {
			if (jj%PER_LINE==0) {
				int shift=20;
				do {
					System.out.print("0123456789ABCDEF".charAt((jj>>shift) & 0x0F));
				} while ((shift-=4)>=0);
				System.out.print(' ');
				for (int kk=jj, lim=Math.min(data.length, jj+PER_LINE); kk<lim; ) {
					final char datum=(char)data[kk++];
					System.out.print(datum>=' ' && datum<=0x7E?datum:'.');
				}
				for (int kk=data.length-jj-PER_LINE; kk<0; kk++) {
					System.out.print(' ');
				}
			}
			System.out.print(' ');
		}
		System.out.print("0123456789ABCDEF".charAt((data[jj]>>4) & 0x0F));
		System.out.print("0123456789ABCDEF".charAt(data[jj++] & 0x0F));
		if (jj%PER_LINE==0) {
			System.out.println();
		}
	}
	if (data.length%PER_LINE!=0) {
		System.out.println();
	}
}

/**
 * Prints hexadecimal dump of the passed <code>int</code> array to <code>System.out</code>.
 * @param data <code>int</code> array to be printed in hexadecimal, most significant
 * byte first within each <code>int</code>
 */
public static void dump(final int[] data) {
	final byte[] byteData=new byte[data.length*4];
	int start=data.length<<2;
	for (int howmany=data.length; --howmany>=0; ) {
		int source=data[howmany];
		byteData[--start]=(byte)source;
		byteData[--start]=(byte)(source>>>=8);
		byteData[--start]=(byte)(source>>>=8);
		byteData[--start]=(byte)(source>>>8);
	}
	dump(byteData);
}

private static void performTest(final int which) {
	final int base=which*7;
	if (which<0 || which>=KAT.length || KAT.length%7!=0) {
		throw new RuntimeException("KAT");
	}
	final int[] params=KAT[base];
	if (params[0]%8!=0 || params[4]%8!=0) {
		dump(params);
		throw new RuntimeException("params");
	}
	final int[] ikey=KAT[base+1];
	final byte[] bkey=new byte[params[0]/8];
	for (int jj=bkey.length; --jj>=0; ) {
		bkey[jj]=(byte)ikey[jj];
	}
	final int[] inon=KAT[base+2];
	final byte[] bnon=new byte[params[4]/8];
	for (int jj=bnon.length; --jj>=0; ) {
		bnon[jj]=(byte)inon[jj];
	}


	// Test encryption. The hide instance performs encryption.
	final Phelix hide;
	try {
		hide=new Phelix(false,
		 (byte[])bkey.clone(), 0, params[0]/8,
		 bnon, 0, params[4]/8,
		 params[3]);
	} catch (final IllegalArgumentException a) {
		System.err.println(a.toString());
		System.err.flush();
		return;
	}
	if (params[2]!=0 || (NOISE.nextInt() & 1)!=0) {
		// Call startAad and endAad (with no data) half the time if
		// the specified AAD length is zero.
		hide.startAad();
		final int[] adat=KAT[base+3];
		for (int jj=0; jj<params[2]; ++jj) {
			hide.next((byte)adat[jj]);
		}
		hide.endAad();
	}

	// Compare the ciphertext.
	final int[] imsg=KAT[base+4];
	final int[] icip=KAT[base+5];
	for (int jj=0; jj<params[1]; ++jj) {
		if (hide.next((byte)imsg[jj])!=(byte)icip[jj]) {
			throw new RuntimeException("Ciphertext "+which+" "+jj);
		}
	}

	// Compare the Message Authentication Code.
	final int[] imac=KAT[base+6];
	final byte[] bdig=new byte[(params[3]+7)/8];
	hide.digest(bdig, 0);
	for (int jj=0; jj<(params[3]+7)/8; ++jj) {
		// Note: The defining paper shows the last byte of a
		// truncated MAC as mac[floor((t-1)/8)] mod 2**(1+((t-1) mod 8)),
		// i.e., the last byte is masked if the number of MAC bits is
		// not a multiple of 8. The Known Answer Tests in phelixKAT.h do
		// not perform this masking, and for that reason Phelix.java does
		// not mask the last byte.
		if (bdig[jj]!=(byte)imac[jj]) {
			dump(bdig);
			dump(imac);
			throw new RuntimeException("MAC "+which+" "+jj);
		}
	}


	// Test decryption, using a new instance. The show instance
	// performs decryption.
	final Phelix show=new Phelix(true,
	 bkey, 0, params[0]/8,
	 bnon, 0, params[4]/8,
	 params[3]);
	if (params[2]!=0 || (NOISE.nextInt() & 1)!=0) {
		show.startAad();
		final int[] adat=KAT[base+3];
		for (int jj=0; jj<params[2]; ++jj) {
			show.next((byte)adat[jj]);
		}
		show.endAad();
	}

	// Compare the plaintext.
	for (int jj=0; jj<params[1]; ++jj) {
		if (show.next((byte)icip[jj])!=(byte)imsg[jj]) {
			throw new RuntimeException("Plaintext "+which+" "+jj);
		}
	}
	for (int jj=bdig.length; --jj>=0; ) {
		bdig[jj]=0;
	}

	// Compare the MAC.
	show.digest(bdig, 0);
	for (int jj=0; jj<(params[3]+7)/8; ++jj) {
		if (bdig[jj]!=(byte)imac[jj]) {
			dump(bdig);
			dump(imac);
			throw new RuntimeException("AUTH "+which+" "+jj);
		}
	}


	// Test decryption, using setNonce on the encrypting instance. The
	// hide instance now performs decryption.
	hide.setNonce(true,
	 bnon, 0, params[4]/8);
	if (params[2]!=0 || (NOISE.nextInt() & 1)!=0) {
		hide.startAad();
		final int[] adat=KAT[base+3];
		for (int jj=0; jj<params[2]; ++jj) {
			hide.next((byte)adat[jj]);
		}
		hide.endAad();
	}

	// Compare the plaintext.
	for (int jj=0; jj<params[1]; ++jj) {
		if (hide.next((byte)icip[jj])!=(byte)imsg[jj]) {
			throw new RuntimeException("Plaintext "+which+" "+jj);
		}
	}
	for (int jj=bdig.length; --jj>=0; ) {
		bdig[jj]=0;
	}

	// Compare the MAC.
	hide.digest(bdig, 0);
	for (int jj=0; jj<(params[3]+7)/8; ++jj) {
		if (bdig[jj]!=(byte)imac[jj]) {
			dump(bdig);
			dump(imac);
			throw new RuntimeException("AUTH "+which+" "+jj);
		}
	}
}

private PhelixTest(final int noInstances) {
}

private static final int[][] KAT=getKat();
private static int[][] getKat() {
	final int[][] kat2=getKat2();
	final int[][] kat1=new int[][]{

/* ---------- KAT vector #  1 ------------- */
{ 256,  36,   0, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F}, /* key */
   {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F}, /* nonce */
   {0x00}, /* aad */
   {0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
    0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F,
    0x80,0x81,0x82,0x83}, /* pText */
   {0x20,0xC5,0xD6,0x0E,0x02,0x87,0xBC,0x91,0xFD,0x92,0x61,0x40,0x9F,0xBE,0x0A,0xE3,
    0x09,0x4E,0x0A,0xD9,0x50,0x20,0xD4,0xF9,0x14,0x93,0x76,0x5F,0x9C,0xE5,0x4B,0xF4,
    0x1E,0x69,0xFE,0x0A}, /* cText */
   {0xA1,0x88,0x07,0x0F,0x2B,0x69,0xB9,0x95,0xF5,0x76,0x43,0x90,0x55,0x1E,0xD1,0x4D}  ,/* mac */

/**************************************************************
 **** Phelix internal state (for debugging)
 **************************************************************
SetupKey:  keySize = 256 bits. MAC tag = 128 bits.
  Raw Key = 
  00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
  10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
KeyMixing:
X.8  =03020100 07060504 0B0A0908 0F0E0D0C 13121110 17161514 1B1A1918 1F1E1D1C 
X.7  =03020100 07060504 0B0A0908 0F0E0D0C E3DC267F 9ECE76F5 370C2290 5B28AF7D 
X.6  =A57CE5E2 1F0BD1A4 AFD4D6C5 8E6A3507 E3DC267F 9ECE76F5 370C2290 5B28AF7D 
X.5  =A57CE5E2 1F0BD1A4 AFD4D6C5 8E6A3507 3D15BE6A E09C18BD D259C05D 97161AC6 
X.4  =B4B8DC6A FC96BF3C 2E44AB26 2D44B245 3D15BE6A E09C18BD D259C05D 97161AC6 
X.3  =B4B8DC6A FC96BF3C 2E44AB26 2D44B245 914B8D55 3C33F8EF D9EC6283 DF52FE84 
X.2  =AE882E92 38A9D24A D781FE26 C9F73885 914B8D55 3C33F8EF D9EC6283 DF52FE84 
X.1  =AE882E92 38A9D24A D781FE26 C9F73885 33DCF194 108B400F 4A22EA98 A4FB8F6F 
X.0  =0EAB0C2A 31422C85 3A4113EC AFECC7C2 33DCF194 108B400F 4A22EA98 A4FB8F6F 
**********
Phelix_C_Encrypt:  msgLen = 36. aadLen = 0.
SetupNonce: keySize  = 256 bits.  MAC tag = 128 bits.
  Nonce=
  20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
Working key schedule:
X_i_0=0EAB0C2A 31422C85 3A4113EC AFECC7C2 33DCF194 108B400F 4A22EA98 A4FB8F6F 
X_i_1=56FF12B4 37B165B3 754D13C0 D429BC9B EB88EB0A 0A1C07E2 0F16EAC6 80BE9A99 

Z.-8 =8CCEE6E2 14FAD4B0 3BA16927 650CC7B4 A4FB8F6F.

Z.-7a=B75D2DE3 D9907EE7 8F6394F5 DA2C5699 A9C4BECF.  OldZ       = 00000000.     X_i_0 = 0EAB0C2A.
Z.-7b=F205F8A4 A6014382 DDBC82BD E6DFD5CE 7934112D.                          plainText= 00000000.
Z.-7c=CB9CE5B1 D552BC7C 999E0AB2 F5D227C0 604BB4F1.                             X_i_1 = 56FF12B4.
Z.-7 =FC5874DD C8446DA8 1D7D4EE4 F28D927D 5675C67E.                       

Z.-6a=CC0EB5DD E8D0987A 937DE736 D784CD60 F048354A.  OldZ       = 00000000.     X_i_0 = 31422C85.
Z.-6b=C38C4C84 C56980C4 08C66DCB 4E79E088 5EEF6D67.                          plainText= 00000000.
Z.-6c=0C5A1824 63B8AC91 818E3580 D41CC917 E97E1FA1.                             X_i_1 = 37B165B3.
Z.-6 =6EF07943 35998456 244D8DF1 7FCDE575 4AD65140.                       

Z.-5a=7CBD71DD BF565A01 A69395E7 72D56A70 4B897FEB.  OldZ       = 00000000.     X_i_0 = 3A4113EC.
Z.-5b=F81D1AB0 F92F57A6 07D4AD0F 11948086 57C3CC19.                          plainText= 00000000.
Z.-5c=63366C13 CC8EFD43 6C721CCA 10B02B75 4114BDD1.                             X_i_1 = 754D13C0.
Z.-5 =324E6CB5 D204946C 67ADFDCA D1C64B6F C48747CC.                       

Z.-4a=29704808 2F70E25A 8BDCC772 B33C34DB FD42547D.  OldZ       = 00000000.    X_i_0 = AFECC7C2.
Z.-4b=4954A58B 95B13E91 C6AF80FA BF01C35D 9CBAC3AF.                          plainText= 00000000.
Z.-4c=ACD1D010 B00900C9 D0259DF3 D3C2DDC0 2E335D99.                             X_i_1 = D429BC9B.
Z.-4 =A4E0B3D4 D2EA84F1 6C5D083B D32B14C0 B0D1CD87.                       

Z.-3a=179128F0 F149E20E 815E28AD 09DC3BED 23B8644A.  OldZ       = 5675C67E.     X_i_0 = 33DCF194.
Z.-3b=5712A280 8C322697 70C5C3D5 1568953F A70F6A69.                          plainText= 00000000.
Z.-3c=F66F7ED8 064400CD E8D4397D 79DE1BB4 F00D133E.                             X_i_1 = EB88EB0A.
Z.-3 =81A93087 489F9FB2 7B9632EF 14C09AE0 D9BB6F96.                       

Z.-2a=D396CF2C 6C3D2089 F311DBFF 6F2B0528 1BB37067.  OldZ       = 4AD65140.     X_i_0 = 108B400F.
Z.-2b=A1BAC208 728773BC E64CC353 93591238 F13E856C.                          plainText= 00000000.
Z.-2c=27A8806A 17E4A18F 2E27A6BE EAD9B084 AD41941D.                             X_i_1 = 0A1C07E2.
Z.-2 =801D35D3 29AC95D5 309BD7E0 F55BA1B3 33076B17.                       

Z.-1a=F1AF0CEA D003B172 00CC8BC6 8C6DFA41 74490F3C.  OldZ       = C48747CC.     X_i_0 = 4A22EA98.
Z.-1b=833273FE 55F27522 018E7F25 07663CDE 09EBFD70.                          plainText= 00000000.
Z.-1c=3161B915 79CA497F 9FF3162D 41B17121 6B2AA7F3.                             X_i_1 = 0F16EAC6.
Z.-1 =2F861A9E 07746097 339F24A0 634D4AD4 55629440.                       

Z.00a=A6CAE525 5BD35D73 83A54298 F9BCC571 21F706FA.  OldZ       = B0D1CD87.     X_i_0 = A4FB8F6F.
Z.00b=1C53872B 22DC4BD1 82FE8BB7 F8938CE5 5CC8B063.                          plainText= 00000000.
Z.00c=CE282029 93F0D1FE 3F4F2C33 B9D6007D 5CD33107.                             X_i_1 = 80BE9A99.
Z.00 =B34F4BCB 1F07CE79 817CECE6 3D996118 522B0CFD.                       

**********PHASE_DATA:
Z.01a=D159C7E1 CB6DD9C4 800AE328 C1BEC5BA 6C38961E.  OldZ       = D9BB6F96.     X_i_0 = 0EAB0C2A.
Z.01b=60501301 AA7ED53A 275F25B0 57C50148 93F934AA.  Keystream  = 6DB4A440.  plainText= 63626160.
Z.01c=EEE65329 E02790F9 AD336750 BEDC2206 08D04902.                            X_i_1  = 56FF12B4.
Z.01 =7EBFB3D6 BECFDF47 0E19E775 98AEE27C A1508E21.                         cipherText= 0ED6C520.

Z.02a=DD2CA42E 81B5A180 E24E32EE 111E213F 5CBA1243.  OldZ       = 33076B17.     X_i_0 = 31422C85.
Z.02b=9EA9F4CE 7D9E1EE8 33639B10 A1573C12 C3D3774F.  Keystream  = F6DAE266.  plainText= 67666564.
Z.02c=B69C88C9 C658DD05 AAA8AF71 DF78C69C F7407C42.                            X_i_1  = 37B165B3.
Z.02 =491A1B6A C50A3988 8BEA8049 68F6D2EE 43D70AEA.                         cipherText= 91BC8702.

Z.03a=21DCB164 8511C823 DC2273F4 61967009 0E821C26.  OldZ       = 55629440.     X_i_0 = 3A4113EC.
Z.03b=291BA0B3 9EA02C5C C5B4D0B2 E3F97007 D5A96755.  Keystream  = 2B0BFB95.  plainText= 6B6A6968.
Z.03c=5D744563 264EC5D1 D520E834 CC4A624D 1FC5BD5E.                            X_i_1  = 754D13C0.
Z.03 =3741CE33 5BC479CC 4083751E AC9E1122 45AFD850.                         cipherText= 406192FD.

Z.04a=BFBEABC7 D1487285 549746B9 A9E50453 43E809FB.  OldZ       = 522B0CFD.     X_i_0 = AFECC7C2.
Z.04b=7D2E66F6 03DBF495 60D5D167 7D19BC92 3A39C6F6.  Keystream  = 8C64D3F3.  plainText= 6F6E6D6C.
Z.04c=4C71E91F 56EE2CF8 D327DEE7 E05C8507 DBE85D20.                            X_i_1  = D429BC9B.
Z.04 =8B2F8F7A 338EC468 83F0F339 851D9319 C7BB9CE4.                         cipherText= E30ABE9F.

Z.05a=9A452620 298533ED A355277B 32C6A3C2 5D4D48E3.  OldZ       = A1508E21.     X_i_0 = 33DCF194.
Z.05b=376FCE6B 43D873A6 077B5E34 017A23FE 0927B158.  Keystream  = AA783F79.  plainText= 73727170.
Z.05c=F041F352 0093F934 FD9B5C06 5CFF2443 5E15CE2F.                            X_i_1  = EB88EB0A.
Z.05 =C0BB8C9F 31B8DAF4 CCAB0236 35C6002B 0FA0B3D3.                         cipherText= D90A4E09.

Z.06a=031995ED 663B1D05 1DF87455 414C1424 E049D063.  OldZ       = 43D70AEA.     X_i_0 = 108B400F.
Z.06b=1DE52CEC 966B3433 18E6C66E 96C5D26F 4ACB4A3A.  Keystream  = 8EA25524.  plainText= 77767574.
Z.06c=31A80FFF D9F9B784 24D3CEFC 0801B50F 5C13A8FD.                            X_i_1  = 0A1C07E2.
Z.06 =30123B5B 50FBCC2F 11303FA9 47EA8CBC 3D962A7F.                         cipherText= F9D42050.

Z.07a=F9902EEF 47DABA3A EF7CCD99 C8CFD55B 65482412.  OldZ       = 45AFD850.     X_i_0 = 4A22EA98.
Z.07b=11CEB629 94F14114 5BEBD6BB 14C6937E DE5D121C.  Keystream  = 240CEA6C.  plainText= 7B7A7978.
Z.07c=17405F03 394CC1CD ED29B4C0 3AF15953 141D30B8.                            X_i_1  = 0F16EAC6.
Z.07 =B245D481 8F8BA96A 4E39FC89 FC0E47C9 EC66CD67.                         cipherText= 5F769314.

Z.08a=A838955C C9DB45EF C187C0DB 581688D6 B046AE5D.  OldZ       = C7BB9CE4.     X_i_0 = A4FB8F6F.
Z.08b=D19552A8 EF5D93CC D649BE82 0FA38DE7 C379FBFC.  Keystream  = 8B3598E0.  plainText= 7F7E7D7C.
Z.08c=E6868684 5E3F22CB FB832875 74240819 8DC1F1B8.                            X_i_1  = 80BE9A99.
Z.08 =44512642 F69B9E9F BCE99741 3107D579 33D05D02.                         cipherText= F44BE59C.

Z.09a=B1F776EA AFEE84A9 D9F59362 C0D76322 CE190DB4.  OldZ       = 0FA0B3D3.     X_i_0 = 0EAB0C2A.
Z.09b=9A67E751 BC48EB0F 0D55A10B 122D61E5 79DC34CB.  Keystream  = 897CE89E.  plainText= 83828180.
Z.09c=2F8F6C58 947F68D8 CD7A4284 86D796CC B8361F26.                            X_i_1  = 56FF12B4.
Z.09 =5C8F259C 4BBFF162 FA810997 4DFF5DB1 7C30DF4A.                         cipherText= 0AFE691E.

**********PHASE_MAC_GEN:
Z.10a=441E3C37 C342B31F 0D13C246 69287653 761B6847.  OldZ       = 3D962A7F.     X_i_0 = 31422C85.
Z.10b=EEFDE749 CEDAC5AA 710C26BD 8FA3F8EC 86808FF6.  Keystream  = C416BA75.  plainText= 00000000.
Z.10c=43C06AFD 6D568155 8D101F5B A92D1271 FCBAC7A7.                            X_i_1  = 37B165B3.
Z.10 =2C8A31E1 6237948F 05C64466 FC378B8E 68DACDB4.                         cipherText= C416BA75.

Z.11a=837ADE51 49890F2C F2125A0F 0ED51C58 95D9AEA4.  OldZ       = EC66CD67.     X_i_0 = 3A4113EC.
Z.11b=E15CA6CE 850C46E2 8FE90497 E005E89E 89ABDA9F.  Keystream  = 7612A806.  plainText= 00000000.
Z.11c=C51ED982 E086043A 17F69D17 FAF75183 8D9EE3B0.                            X_i_1  = 754D13C0.
Z.11 =CD7B55AB C73C5368 AA2B3DD9 6BD6BBEA 1127485D.                         cipherText= 7612A806.

Z.12a=A4232A72 8E6F1761 589926F2 8596AE2E 4D9B7ADC.  OldZ       = 33D05D02.     X_i_0 = AFECC7C2.
Z.12b=F8291A05 A36DEE1F 4730CE9D 655A1948 85620FC7.  Keystream  = B9326CC9.  plainText= 00000000.
Z.12c=06669ABB 3FF798A3 FBA03567 246BCF4B A9BEC1EF.                            X_i_1  = D429BC9B.
Z.12 =142FEF31 4ACA64B2 5268D53F 5F644D1E 22AEB39E.                         cipherText= B9326CC9.

Z.13a=28789EE7 E46141B5 D2E043F9 4BF637E2 5E4246D7.  OldZ       = 7C30DF4A.     X_i_0 = 33DCF194.
Z.13b=79157ABB 183B15D1 517F7145 4D20955A 62511042.  Keystream  = DE81EF8C.  plainText= 00000000.
Z.13c=6C202B8C 30984DEA C2A12E92 30210083 1C0E0370.                            X_i_1  = EB88EB0A.
Z.13 =02D7789C B274D164 455DD7E7 F89E8EBA FA44ED3E.                         cipherText= DE81EF8C.

Z.14a=EC0EADF6 E6FA8AB2 A1637C57 EBE4C2ED 3C205A8B.  OldZ       = 68DACDB4.     X_i_0 = 108B400F.
Z.14b=F0A107EA D681CED6 3C456C36 55D400F4 BAB34CE5.  Keystream  = 238E1A99.  plainText= 00000000.
Z.14c=EA11BC8C D46EEE44 C9D0F460 914F3151 45A5CB81.                            X_i_1  = 0A1C07E2.
Z.14 =5C4717A8 592E2C8E 696F4487 F61EF219 823B5290.                         cipherText= 238E1A99.

Z.15a=CC1382A4 A5FC7B6D 9A8C7612 A2658411 5C0DC3EB.  OldZ       = 1127485D.     X_i_0 = 4A22EA98.
Z.15b=C0D209BE 8DC437CF 650C43F7 628B198A 0355099E.  Keystream  = 147C51FB.  plainText= 00000000.
Z.15c=BA469046 6505B644 C17E8CA2 1DDC7028 82580AD2.                            X_i_1  = 0F16EAC6.
Z.15 =B4296B5C EDE4B73A 068AFC8B EED4D8A0 596E07AF.                         cipherText= 147C51FB.

Z.16a=FC87F945 4AFBA51D 7EEF48E9 2B02C983 03279B86.  OldZ       = 22AEB39E.     X_i_0 = A4FB8F6F.
Z.16b=1B73379A E1F4DA4E 4D1D5416 149CF0FB 41182AC4.  Keystream  = 63C6DE62.  plainText= 00000000.
Z.16c=20512A60 3414488C F906FA1A 5B708F5C 058FACD8.                            X_i_1  = 80BE9A99.
Z.16 =06CFC7E0 DF22A18C B09F50DE 4878082B 001FFA37.                         cipherText= 63C6DE62.

Z.17a=8FA0169E 0A6F0F7D 01ABFFB1 DB573FFF 6DD8C0C9.  OldZ       = FA44ED3E.     X_i_0 = 0EAB0C2A.
Z.17b=AB765A25 BE7DA33D E9CB4D0C 5E8D9FB3 7F5777D3.  Keystream  = 799C6511.  plainText= 00000000.
Z.17c=07F3B014 546C40F7 69A9C791 F20CB456 8AC763C3.                            X_i_1  = 56FF12B4.
Z.17 =7364EF87 5919A6F5 1447D8F7 9B2E5049 54DA4F9F.                         cipherText= 799C6511.

Z.18a=267FA01D CFDA52B7 CE4E35A9 85D73B03 597E9BC6.  OldZ       = 823B5290.     X_i_0 = 31422C85.
Z.18b=7959166C 264B8CB5 F69FA7CB 781A9831 8CCC3611.  Keystream  = 0F0788A1.  plainText= 00000000.
Z.18c=E75D3BE2 5F0B1ACC 12AC0FD8 FF0F7ECB 2B05A1C2.                            X_i_1  = 37B165B3.
Z.18 =F75D19DD 75D873A0 893DE9BC 73D29AC0 5071AA2D.                         cipherText= 0F0788A1.

Z.19a=5F693AD6 28773719 BA43C424 8B2A2424 3CB34075.  OldZ       = 596E07AF.     X_i_0 = 3A4113EC.
Z.19b=2C69A020 23BB60A6 88B8DD4A 378F0075 3C4B617C.  Keystream  = 95B9692B.  plainText= 00000000.
Z.19c=F1412AC7 1B088980 FBBFD680 E03C59E5 E3B914A1.                            X_i_1  = 754D13C0.
Z.19 =778A4C84 8CE90FC5 1103BF14 70C0B39A 821C218F.                         cipherText= 95B9692B.

Z.20a=96003DD0 14C5503C 7E15F291 56C80934 184CF74D.  OldZ       = 001FFA37.     X_i_0 = AFECC7C2.
Z.20b=D2690B4E 4D3B8864 D95BF6E1 223BA9BE 90237CBE.  Keystream  = 904376F5.  plainText= 00000000.
Z.20c=496A19E9 7C148B75 87DA5BFE 0980143F AB1F8AE6.                            X_i_1  = D429BC9B.
Z.20 =91C94C3C 580C9EB8 93C4A343 996B06A2 EDC2F079.                         cipherText= 904376F5.

Z.21a=68A5BC56 3E3CC517 E33B71E1 C69EC384 ACCC777D.  OldZ       = 54DA4F9F.     X_i_0 = 33DCF194.
Z.21b=94E92DE0 85935497 C32F65EE C498634B F8F6CEB6.  Keystream  = 4DD11E55.  plainText= 00000000.
Z.21c=032256B3 288D35FA E98B355D 4F2FC101 08A0E262.                            X_i_1  = EB88EB0A.
Z.21 =A94399AF 6EBCC101 64C5FE24 73F9C7D8 3F6A6EE5.                         cipherText= 4DD11E55.

***************************************************************/


/* ---------- KAT vector #  2 ------------- */
{ 256,  35,   0, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F}, /* key */
   {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F}, /* nonce */
   {0x00}, /* aad */
   {0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
    0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F,
    0x80,0x81,0x82}, /* pText */
   {0x20,0xC5,0xD6,0x0E,0x02,0x87,0xBC,0x91,0xFD,0x92,0x61,0x40,0x9F,0xBE,0x0A,0xE3,
    0x09,0x4E,0x0A,0xD9,0x50,0x20,0xD4,0xF9,0x14,0x93,0x76,0x5F,0x9C,0xE5,0x4B,0xF4,
    0x1E,0x69,0xFE}, /* cText */
   {0x01,0xC9,0xAA,0x04,0xCB,0x13,0xBC,0x86,0x0C,0x50,0x6D,0x6D,0x87,0x18,0x3C,0x23}  ,/* mac */


/* ---------- KAT vector #  3 ------------- */
{ 256,  34,   0, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F}, /* key */
   {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F}, /* nonce */
   {0x00}, /* aad */
   {0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
    0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F,
    0x80,0x81}, /* pText */
   {0x20,0xC5,0xD6,0x0E,0x02,0x87,0xBC,0x91,0xFD,0x92,0x61,0x40,0x9F,0xBE,0x0A,0xE3,
    0x09,0x4E,0x0A,0xD9,0x50,0x20,0xD4,0xF9,0x14,0x93,0x76,0x5F,0x9C,0xE5,0x4B,0xF4,
    0x1E,0x69}, /* cText */
   {0xDB,0xD1,0x3C,0x2B,0x97,0x44,0x7B,0x3E,0x0E,0x46,0x2C,0x69,0x0C,0xAD,0xAE,0xAD}  ,/* mac */


/* ---------- KAT vector #  4 ------------- */
{ 256,  33,   0, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F}, /* key */
   {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F}, /* nonce */
   {0x00}, /* aad */
   {0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
    0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F,
    0x80}, /* pText */
   {0x20,0xC5,0xD6,0x0E,0x02,0x87,0xBC,0x91,0xFD,0x92,0x61,0x40,0x9F,0xBE,0x0A,0xE3,
    0x09,0x4E,0x0A,0xD9,0x50,0x20,0xD4,0xF9,0x14,0x93,0x76,0x5F,0x9C,0xE5,0x4B,0xF4,
    0x1E}, /* cText */
   {0x7B,0x58,0x40,0x8F,0x2F,0x04,0xB9,0x8E,0xA6,0xDA,0x1E,0xFA,0xAC,0xD1,0xA0,0x3C}  ,/* mac */


/* ---------- KAT vector #  5 ------------- */
{ 256,  32,   0, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F}, /* key */
   {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F}, /* nonce */
   {0x00}, /* aad */
   {0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
    0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F}, /* pText */
   {0x20,0xC5,0xD6,0x0E,0x02,0x87,0xBC,0x91,0xFD,0x92,0x61,0x40,0x9F,0xBE,0x0A,0xE3,
    0x09,0x4E,0x0A,0xD9,0x50,0x20,0xD4,0xF9,0x14,0x93,0x76,0x5F,0x9C,0xE5,0x4B,0xF4}, /* cText */
   {0x08,0x57,0xF6,0x4C,0x57,0x11,0xB0,0x25,0x57,0xDE,0x55,0xFB,0x6C,0x90,0xBA,0x7A}  ,/* mac */


/* ---------- KAT vector #  6 ------------- */
{ 256,  31,   0, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F}, /* key */
   {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F}, /* nonce */
   {0x00}, /* aad */
   {0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
    0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E}, /* pText */
   {0x20,0xC5,0xD6,0x0E,0x02,0x87,0xBC,0x91,0xFD,0x92,0x61,0x40,0x9F,0xBE,0x0A,0xE3,
    0x09,0x4E,0x0A,0xD9,0x50,0x20,0xD4,0xF9,0x14,0x93,0x76,0x5F,0x9C,0xE5,0x4B}, /* cText */
   {0x3C,0x11,0x89,0x37,0x84,0xC1,0xFE,0x79,0xD5,0xEB,0xC2,0x23,0x10,0xF8,0x5C,0x26}  ,/* mac */


/* ---------- KAT vector #  7 ------------- */
{ 256,  30,   0, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F}, /* key */
   {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F}, /* nonce */
   {0x00}, /* aad */
   {0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
    0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D}, /* pText */
   {0x20,0xC5,0xD6,0x0E,0x02,0x87,0xBC,0x91,0xFD,0x92,0x61,0x40,0x9F,0xBE,0x0A,0xE3,
    0x09,0x4E,0x0A,0xD9,0x50,0x20,0xD4,0xF9,0x14,0x93,0x76,0x5F,0x9C,0xE5}, /* cText */
   {0x7C,0x2C,0x14,0x1D,0xCE,0x45,0xF0,0x74,0x2A,0x8F,0x12,0x71,0xB3,0x52,0x9B,0x1E}  ,/* mac */


/* ---------- KAT vector #  8 ------------- */
{ 256,  29,   0, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F}, /* key */
   {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F}, /* nonce */
   {0x00}, /* aad */
   {0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
    0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C}, /* pText */
   {0x20,0xC5,0xD6,0x0E,0x02,0x87,0xBC,0x91,0xFD,0x92,0x61,0x40,0x9F,0xBE,0x0A,0xE3,
    0x09,0x4E,0x0A,0xD9,0x50,0x20,0xD4,0xF9,0x14,0x93,0x76,0x5F,0x9C}, /* cText */
   {0x92,0x28,0xBA,0x42,0x2B,0x7E,0xEB,0x1C,0x9C,0x61,0x00,0x6F,0xD0,0x87,0x8E,0x30}  ,/* mac */


/* ---------- KAT vector #  9 ------------- */
{ 256,  28,   0, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F}, /* key */
   {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F}, /* nonce */
   {0x00}, /* aad */
   {0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
    0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B}, /* pText */
   {0x20,0xC5,0xD6,0x0E,0x02,0x87,0xBC,0x91,0xFD,0x92,0x61,0x40,0x9F,0xBE,0x0A,0xE3,
    0x09,0x4E,0x0A,0xD9,0x50,0x20,0xD4,0xF9,0x14,0x93,0x76,0x5F}, /* cText */
   {0xD8,0xB3,0xCD,0xC6,0x5D,0x38,0x0C,0x92,0x09,0x9F,0x80,0x91,0x84,0x70,0x54,0x3E}  ,/* mac */


/* ---------- KAT vector # 10 ------------- */
{ 256,  27,   0, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F}, /* key */
   {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F}, /* nonce */
   {0x00}, /* aad */
   {0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
    0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A}, /* pText */
   {0x20,0xC5,0xD6,0x0E,0x02,0x87,0xBC,0x91,0xFD,0x92,0x61,0x40,0x9F,0xBE,0x0A,0xE3,
    0x09,0x4E,0x0A,0xD9,0x50,0x20,0xD4,0xF9,0x14,0x93,0x76}, /* cText */
   {0x0D,0x77,0xA9,0x16,0xB9,0xC8,0x6D,0xDD,0xCD,0xE3,0xE2,0xB9,0xED,0x7C,0x9A,0x34}  ,/* mac */


/* ---------- KAT vector # 11 ------------- */
{ 256,  26,   0, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F}, /* key */
   {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F}, /* nonce */
   {0x00}, /* aad */
   {0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
    0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79}, /* pText */
   {0x20,0xC5,0xD6,0x0E,0x02,0x87,0xBC,0x91,0xFD,0x92,0x61,0x40,0x9F,0xBE,0x0A,0xE3,
    0x09,0x4E,0x0A,0xD9,0x50,0x20,0xD4,0xF9,0x14,0x93}, /* cText */
   {0xAC,0x8B,0xAC,0x91,0xBA,0xA9,0x6E,0x5E,0xCC,0xA2,0xE6,0xA4,0x60,0x7C,0x7A,0x6D}  ,/* mac */


/* ---------- KAT vector # 12 ------------- */
{ 256,  25,   0, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F}, /* key */
   {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F}, /* nonce */
   {0x00}, /* aad */
   {0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
    0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78}, /* pText */
   {0x20,0xC5,0xD6,0x0E,0x02,0x87,0xBC,0x91,0xFD,0x92,0x61,0x40,0x9F,0xBE,0x0A,0xE3,
    0x09,0x4E,0x0A,0xD9,0x50,0x20,0xD4,0xF9,0x14}, /* cText */
   {0x78,0x7A,0xD5,0xB9,0xF1,0x41,0x4F,0xD5,0x7D,0x42,0x45,0x57,0xCA,0x3A,0x2B,0x16}  ,/* mac */


/* ---------- KAT vector # 13 ------------- */
{ 256,  24,   0, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F}, /* key */
   {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F}, /* nonce */
   {0x00}, /* aad */
   {0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
    0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77}, /* pText */
   {0x20,0xC5,0xD6,0x0E,0x02,0x87,0xBC,0x91,0xFD,0x92,0x61,0x40,0x9F,0xBE,0x0A,0xE3,
    0x09,0x4E,0x0A,0xD9,0x50,0x20,0xD4,0xF9}, /* cText */
   {0x69,0x7E,0x43,0x68,0x12,0xFC,0x7E,0x4B,0xE3,0x86,0x60,0x81,0xD5,0x19,0xDA,0xAE}  ,/* mac */


/* ---------- KAT vector # 14 ------------- */
{ 256,  23,   0, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F}, /* key */
   {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F}, /* nonce */
   {0x00}, /* aad */
   {0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
    0x70,0x71,0x72,0x73,0x74,0x75,0x76}, /* pText */
   {0x20,0xC5,0xD6,0x0E,0x02,0x87,0xBC,0x91,0xFD,0x92,0x61,0x40,0x9F,0xBE,0x0A,0xE3,
    0x09,0x4E,0x0A,0xD9,0x50,0x20,0xD4}, /* cText */
   {0x18,0xF4,0x11,0x5D,0xE3,0xC7,0xDE,0x3E,0x7A,0x6B,0x98,0xDD,0x55,0x30,0xBF,0xA3}  ,/* mac */


/* ---------- KAT vector # 15 ------------- */
{ 256,  22,   0, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F}, /* key */
   {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F}, /* nonce */
   {0x00}, /* aad */
   {0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
    0x70,0x71,0x72,0x73,0x74,0x75}, /* pText */
   {0x20,0xC5,0xD6,0x0E,0x02,0x87,0xBC,0x91,0xFD,0x92,0x61,0x40,0x9F,0xBE,0x0A,0xE3,
    0x09,0x4E,0x0A,0xD9,0x50,0x20}, /* cText */
   {0x21,0x37,0xBB,0xEF,0xF7,0x4F,0x39,0xE1,0xF2,0x0A,0xAB,0xC6,0x1B,0x0A,0x53,0x08}  ,/* mac */


/* ---------- KAT vector # 16 ------------- */
{ 256,  21,   0, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F}, /* key */
   {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F}, /* nonce */
   {0x00}, /* aad */
   {0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
    0x70,0x71,0x72,0x73,0x74}, /* pText */
   {0x20,0xC5,0xD6,0x0E,0x02,0x87,0xBC,0x91,0xFD,0x92,0x61,0x40,0x9F,0xBE,0x0A,0xE3,
    0x09,0x4E,0x0A,0xD9,0x50}, /* cText */
   {0xEE,0xAE,0xDE,0x8E,0x0E,0x77,0xAA,0xB7,0x93,0x01,0x9E,0x3A,0x63,0xC7,0xCD,0xE1}  ,/* mac */


/* ---------- KAT vector # 17 ------------- */
{ 256,  20,   0, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F}, /* key */
   {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F}, /* nonce */
   {0x00}, /* aad */
   {0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
    0x70,0x71,0x72,0x73}, /* pText */
   {0x20,0xC5,0xD6,0x0E,0x02,0x87,0xBC,0x91,0xFD,0x92,0x61,0x40,0x9F,0xBE,0x0A,0xE3,
    0x09,0x4E,0x0A,0xD9}, /* cText */
   {0x92,0xFD,0xD3,0x21,0xFC,0x12,0x48,0x16,0xF6,0x68,0x2B,0xF5,0x41,0xAA,0x91,0x99}  ,/* mac */

/**************************************************************
 **** Phelix internal state (for debugging)
 **************************************************************
SetupKey:  keySize = 256 bits. MAC tag = 128 bits.
  Raw Key = 
  00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
  10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
KeyMixing:
X.8  =03020100 07060504 0B0A0908 0F0E0D0C 13121110 17161514 1B1A1918 1F1E1D1C 
X.7  =03020100 07060504 0B0A0908 0F0E0D0C E3DC267F 9ECE76F5 370C2290 5B28AF7D 
X.6  =A57CE5E2 1F0BD1A4 AFD4D6C5 8E6A3507 E3DC267F 9ECE76F5 370C2290 5B28AF7D 
X.5  =A57CE5E2 1F0BD1A4 AFD4D6C5 8E6A3507 3D15BE6A E09C18BD D259C05D 97161AC6 
X.4  =B4B8DC6A FC96BF3C 2E44AB26 2D44B245 3D15BE6A E09C18BD D259C05D 97161AC6 
X.3  =B4B8DC6A FC96BF3C 2E44AB26 2D44B245 914B8D55 3C33F8EF D9EC6283 DF52FE84 
X.2  =AE882E92 38A9D24A D781FE26 C9F73885 914B8D55 3C33F8EF D9EC6283 DF52FE84 
X.1  =AE882E92 38A9D24A D781FE26 C9F73885 33DCF194 108B400F 4A22EA98 A4FB8F6F 
X.0  =0EAB0C2A 31422C85 3A4113EC AFECC7C2 33DCF194 108B400F 4A22EA98 A4FB8F6F 
**********
Phelix_C_Encrypt:  msgLen = 20. aadLen = 0.
SetupNonce: keySize  = 256 bits.  MAC tag = 128 bits.
  Nonce=
  20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
Working key schedule:
X_i_0=0EAB0C2A 31422C85 3A4113EC AFECC7C2 33DCF194 108B400F 4A22EA98 A4FB8F6F 
X_i_1=56FF12B4 37B165B3 754D13C0 D429BC9B EB88EB0A 0A1C07E2 0F16EAC6 80BE9A99 

Z.-8 =8CCEE6E2 14FAD4B0 3BA16927 650CC7B4 A4FB8F6F.

Z.-7a=B75D2DE3 D9907EE7 8F6394F5 DA2C5699 A9C4BECF.  OldZ       = 7FFDE000.     X_i_0 = 0EAB0C2A.
Z.-7b=F205F8A4 A6014382 DDBC82BD E6DFD5CE 7934112D.                          plainText= 00000000.
Z.-7c=CB9CE5B1 D552BC7C 999E0AB2 F5D227C0 604BB4F1.                             X_i_1 = 56FF12B4.
Z.-7 =FC5874DD C8446DA8 1D7D4EE4 F28D927D 5675C67E.                       

Z.-6a=CC0EB5DD E8D0987A 937DE736 D784CD60 F048354A.  OldZ       = 7FFDE000.     X_i_0 = 31422C85.
Z.-6b=C38C4C84 C56980C4 08C66DCB 4E79E088 5EEF6D67.                          plainText= 00000000.
Z.-6c=0C5A1824 63B8AC91 818E3580 D41CC917 E97E1FA1.                             X_i_1 = 37B165B3.
Z.-6 =6EF07943 35998456 244D8DF1 7FCDE575 4AD65140.                       

Z.-5a=7CBD71DD BF565A01 A69395E7 72D56A70 4B897FEB.  OldZ       = 00000000.     X_i_0 = 3A4113EC.
Z.-5b=F81D1AB0 F92F57A6 07D4AD0F 11948086 57C3CC19.                          plainText= 00000000.
Z.-5c=63366C13 CC8EFD43 6C721CCA 10B02B75 4114BDD1.                             X_i_1 = 754D13C0.
Z.-5 =324E6CB5 D204946C 67ADFDCA D1C64B6F C48747CC.                       

Z.-4a=29704808 2F70E25A 8BDCC772 B33C34DB FD42547D.  OldZ       = 77D53A05.     X_i_0 = AFECC7C2.
Z.-4b=4954A58B 95B13E91 C6AF80FA BF01C35D 9CBAC3AF.                          plainText= 00000000.
Z.-4c=ACD1D010 B00900C9 D0259DF3 D3C2DDC0 2E335D99.                             X_i_1 = D429BC9B.
Z.-4 =A4E0B3D4 D2EA84F1 6C5D083B D32B14C0 B0D1CD87.                       

Z.-3a=179128F0 F149E20E 815E28AD 09DC3BED 23B8644A.  OldZ       = 5675C67E.     X_i_0 = 33DCF194.
Z.-3b=5712A280 8C322697 70C5C3D5 1568953F A70F6A69.                          plainText= 00000000.
Z.-3c=F66F7ED8 064400CD E8D4397D 79DE1BB4 F00D133E.                             X_i_1 = EB88EB0A.
Z.-3 =81A93087 489F9FB2 7B9632EF 14C09AE0 D9BB6F96.                       

Z.-2a=D396CF2C 6C3D2089 F311DBFF 6F2B0528 1BB37067.  OldZ       = 4AD65140.     X_i_0 = 108B400F.
Z.-2b=A1BAC208 728773BC E64CC353 93591238 F13E856C.                          plainText= 00000000.
Z.-2c=27A8806A 17E4A18F 2E27A6BE EAD9B084 AD41941D.                             X_i_1 = 0A1C07E2.
Z.-2 =801D35D3 29AC95D5 309BD7E0 F55BA1B3 33076B17.                       

Z.-1a=F1AF0CEA D003B172 00CC8BC6 8C6DFA41 74490F3C.  OldZ       = C48747CC.     X_i_0 = 4A22EA98.
Z.-1b=833273FE 55F27522 018E7F25 07663CDE 09EBFD70.                          plainText= 00000000.
Z.-1c=3161B915 79CA497F 9FF3162D 41B17121 6B2AA7F3.                             X_i_1 = 0F16EAC6.
Z.-1 =2F861A9E 07746097 339F24A0 634D4AD4 55629440.                       

Z.00a=A6CAE525 5BD35D73 83A54298 F9BCC571 21F706FA.  OldZ       = B0D1CD87.     X_i_0 = A4FB8F6F.
Z.00b=1C53872B 22DC4BD1 82FE8BB7 F8938CE5 5CC8B063.                          plainText= 00000000.
Z.00c=CE282029 93F0D1FE 3F4F2C33 B9D6007D 5CD33107.                             X_i_1 = 80BE9A99.
Z.00 =B34F4BCB 1F07CE79 817CECE6 3D996118 522B0CFD.                       

**********PHASE_DATA:
Z.01a=D159C7E1 CB6DD9C4 800AE328 C1BEC5BA 6C38961E.  OldZ       = D9BB6F96.     X_i_0 = 0EAB0C2A.
Z.01b=60501301 AA7ED53A 275F25B0 57C50148 93F934AA.  Keystream  = 6DB4A440.  plainText= 63626160.
Z.01c=EEE65329 E02790F9 AD336750 BEDC2206 08D04902.                            X_i_1  = 56FF12B4.
Z.01 =7EBFB3D6 BECFDF47 0E19E775 98AEE27C A1508E21.                         cipherText= 0ED6C520.

Z.02a=DD2CA42E 81B5A180 E24E32EE 111E213F 5CBA1243.  OldZ       = 33076B17.     X_i_0 = 31422C85.
Z.02b=9EA9F4CE 7D9E1EE8 33639B10 A1573C12 C3D3774F.  Keystream  = F6DAE266.  plainText= 67666564.
Z.02c=B69C88C9 C658DD05 AAA8AF71 DF78C69C F7407C42.                            X_i_1  = 37B165B3.
Z.02 =491A1B6A C50A3988 8BEA8049 68F6D2EE 43D70AEA.                         cipherText= 91BC8702.

Z.03a=21DCB164 8511C823 DC2273F4 61967009 0E821C26.  OldZ       = 55629440.     X_i_0 = 3A4113EC.
Z.03b=291BA0B3 9EA02C5C C5B4D0B2 E3F97007 D5A96755.  Keystream  = 2B0BFB95.  plainText= 6B6A6968.
Z.03c=5D744563 264EC5D1 D520E834 CC4A624D 1FC5BD5E.                            X_i_1  = 754D13C0.
Z.03 =3741CE33 5BC479CC 4083751E AC9E1122 45AFD850.                         cipherText= 406192FD.

Z.04a=BFBEABC7 D1487285 549746B9 A9E50453 43E809FB.  OldZ       = 522B0CFD.     X_i_0 = AFECC7C2.
Z.04b=7D2E66F6 03DBF495 60D5D167 7D19BC92 3A39C6F6.  Keystream  = 8C64D3F3.  plainText= 6F6E6D6C.
Z.04c=4C71E91F 56EE2CF8 D327DEE7 E05C8507 DBE85D20.                            X_i_1  = D429BC9B.
Z.04 =8B2F8F7A 338EC468 83F0F339 851D9319 C7BB9CE4.                         cipherText= E30ABE9F.

Z.05a=9A452620 298533ED A355277B 32C6A3C2 5D4D48E3.  OldZ       = A1508E21.     X_i_0 = 33DCF194.
Z.05b=376FCE6B 43D873A6 077B5E34 017A23FE 0927B158.  Keystream  = AA783F79.  plainText= 73727170.
Z.05c=F041F352 0093F934 FD9B5C06 5CFF2443 5E15CE2F.                            X_i_1  = EB88EB0A.
Z.05 =C0BB8C9F 31B8DAF4 CCAB0236 35C6002B 0FA0B3D3.                         cipherText= D90A4E09.

**********PHASE_MAC_GEN:
Z.06a=B831330E 663B1D05 355E97EE 414C1424 F2165C16.  OldZ       = 43D70AEA.     X_i_0 = 108B400F.
Z.06b=73DE9E66 6A089CA1 E89FE563 A480461C D4C62169.  Keystream  = 189D2C53.  plainText= 00000000.
Z.06c=BDC90430 3AF828FB 03C3E182 1DC0EC4A C46A8E23.                            X_i_1  = 0A1C07E2.
Z.06 =0099A15F 9536C7F4 BB3A3173 8602E1EA CC1DA906.                         cipherText= 189D2C53.

Z.07a=3906930D 51C3E985 64747B4D 11A133FB 4B3EED8C.  OldZ       = 45AFD850.     X_i_0 = 4A22EA98.
Z.07b=D9E62C28 E82048D7 E6E11D78 DF655107 1A86818C.  Keystream  = 603659DC.  plainText= 00000000.
Z.07c=96FA5F72 9B298C0A C0AEBF54 AA2525D1 77DF6D5A.                            X_i_1  = 0F16EAC6.
Z.07 =FD72FC64 B70A8767 0EA1E57E 57802AC4 1DDE41D0.                         cipherText= 603659DC.

Z.08a=E64E50A9 A324DF53 84ACB4A5 C18AE2F7 FA8E7ED9.  OldZ       = C7BB9CE4.     X_i_0 = A4FB8F6F.
Z.08b=2CF80C82 550C52CD AE9AEE80 4A0D5A47 CAAFE825.  Keystream  = 926B8509.  plainText= 00000000.
Z.08c=0ACD92EE F0EBC87E 1093B33F B29F9FF4 2534E819.                            X_i_1  = 80BE9A99.
Z.08 =8723993A F9033EAE 44EB7629 02870864 D7247F17.                         cipherText= 926B8509.

Z.09a=55433D13 9EF71740 AF6F9A83 5415BC86 FCF020B5.  OldZ       = 0FA0B3D3.     X_i_0 = 0EAB0C2A.
Z.09b=5A33783F 39BFAB10 DE7204DC F70CA716 E2E52FB8.  Keystream  = F285E38B.  plainText= 00000000.
Z.09c=803EAAA2 936B2072 37131E64 4F2FA14E 00F7E5E8.                            X_i_1  = 56FF12B4.
Z.09 =EB026101 E62CD49C A467A28B 2768ADED A19E3D0A.                         cipherText= F285E38B.

Z.10a=D61DDC24 2C469A1F 58CB6C19 D13D8212 CB4FE8DF.  OldZ       = CC1DA906.     X_i_0 = 31422C85.
Z.10b=2B3D4627 4B960738 A5BBD985 9B58D344 D03627A5.  Keystream  = 9C53D0AB.  plainText= 00000000.
Z.10c=2C32D78D 30BB746F 81DCC65B 726E6371 AECE2D3D.                            X_i_1  = 37B165B3.
Z.10 =EB8862D1 AACA94F3 013CA261 FB10F22E CDAE50CA.                         cipherText= 9C53D0AB.

Z.11a=32A9FFCD E396F5E1 ED3DCF4B 016F9835 7D41533F.  OldZ       = 1DDE41D0.     X_i_0 = 3A4113EC.
Z.11b=3EC09195 BD36F4F6 CAE466FE DF338CEB DC30CC9F.  Keystream  = FA0F0E6F.  plainText= 00000000.
Z.11c=E83D003B 9F065665 F0FDAE20 5F122E0C 16C8DA17.                            X_i_1  = 754D13C0.
Z.11 =1E53C624 7463944E ABFE00A5 A19317F5 361D12DC.                         cipherText= FA0F0E6F.

Z.12a=CDBC337F 029CAAAA BD782831 217A77E3 CC8518E1.  OldZ       = D7247F17.     X_i_0 = AFECC7C2.
Z.12b=CDA1CDB0 CD925E70 4A66A17B 96785043 794F0C9B.  Keystream  = 50738BB2.  plainText= 00000000.
Z.12c=343BE6C8 85AC2D1B 79105CF9 6EC0A037 656F5AA1.                            X_i_1  = D429BC9B.
Z.12 =A2D76D1B 1BBDD706 FC42E4DD BC739FC7 04B63B8B.                         cipherText= 50738BB2.

Z.13a=9619C4BE D04A4481 D07F4613 EF97CCA8 B91354B6.  OldZ       = A19E3D0A.     X_i_0 = 33DCF194.
Z.13b=A82B56D7 C881BB4A BD9812B0 A53F0361 EF7A17B7.  Keystream  = 911854C1.  plainText= 00000000.
Z.13c=D4B4709A EF4C06DF 9111E1E4 364B019E 60D13CB7.                            X_i_1  = EB88EB0A.
Z.13 =C26F5679 E9D3447C CF2FC150 1D2FFACF A1EF9210.                         cipherText= 911854C1.

Z.14a=3EA291BF 0B5A322F 20302161 76A5581B 31F46F3C.  OldZ       = CDAE50CA.     X_i_0 = 108B400F.
Z.14b=995B9920 72E899D5 38455EDB 1857B319 5425ACC8.  Keystream  = 21D3FD92.  plainText= 00000000.
Z.14c=66987363 391A771C 25C513EC 1E82CAB6 1A9E5E3B.                            X_i_1  = 0A1C07E2.
Z.14 =1CE4E06A 2149391C 7976B74E AB24DBD4 B80CD6E9.                         cipherText= 21D3FD92.

Z.15a=13787D90 58401765 16E162FE B4BC4597 84EF251D.  OldZ       = 361D12DC.     X_i_0 = 4A22EA98.
Z.15b=DBFEDA74 7993C6E5 911617A0 C9DE43DD E02B0020.  Keystream  = 164812FC.  plainText= 00000000.
Z.15c=BA3CA34B FB1C1566 13E26996 785023EA 768B5FF1.                            X_i_1  = 0F16EAC6.
Z.15 =D8D3D5BA BA54BC6C 27C2E46A 2BAB5391 3AC039F2.                         cipherText= 164812FC.

Z.16a=FE529608 53D97BD4 9A42477B 5CDC638B 08334D94.  OldZ       = 04B63B8B.     X_i_0 = A4FB8F6F.
Z.16b=4F2FF856 51B202DF 38F58DB3 33214F22 F0752D6B.  Keystream  = F52B68F6.  plainText= 00000000.
Z.16c=A28EF104 9CC12908 95977549 E5B629DA 9285B525.                            X_i_1  = 80BE9A99.
Z.16 =58EC4FA3 24E16872 52355AEB C7B226A3 EC351887.                         cipherText= F52B68F6.

Z.17a=3CEC8C41 5A03E444 595AE556 02476320 828396DE.  OldZ       = A1EF9210.     X_i_0 = 0EAB0C2A.
Z.17b=30B2C1EE 0394D6C4 AF390C30 D9124B62 F7A21831.  Keystream  = 9991AA41.  plainText= 00000000.
Z.17c=8A1AA013 DBBBD7EC 02C14DF8 DE87827C 0AEB4590.                            X_i_1  = 56FF12B4.
Z.17 =55BBF9C3 8493E68A 4BB06A78 08F2731B AAEF820E.                         cipherText= 9991AA41.

***************************************************************/


/* ---------- KAT vector # 18 ------------- */
{ 256,  19,   0, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F}, /* key */
   {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F}, /* nonce */
   {0x00}, /* aad */
   {0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
    0x70,0x71,0x72}, /* pText */
   {0x20,0xC5,0xD6,0x0E,0x02,0x87,0xBC,0x91,0xFD,0x92,0x61,0x40,0x9F,0xBE,0x0A,0xE3,
    0x09,0x4E,0x0A}, /* cText */
   {0x85,0x81,0xCC,0x38,0x47,0x6D,0xB6,0xD6,0x88,0x59,0x96,0xDD,0xA2,0x66,0x42,0x4A}  ,/* mac */


/* ---------- KAT vector # 19 ------------- */
{ 256,  18,   0, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F}, /* key */
   {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F}, /* nonce */
   {0x00}, /* aad */
   {0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
    0x70,0x71}, /* pText */
   {0x20,0xC5,0xD6,0x0E,0x02,0x87,0xBC,0x91,0xFD,0x92,0x61,0x40,0x9F,0xBE,0x0A,0xE3,
    0x09,0x4E}, /* cText */
   {0x5D,0xD5,0xC5,0xAC,0xA3,0x28,0x52,0x4A,0xB6,0xFE,0xF1,0xE1,0xF2,0x33,0x91,0x90}  ,/* mac */


/* ---------- KAT vector # 20 ------------- */
{ 256,  17,   0, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F}, /* key */
   {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F}, /* nonce */
   {0x00}, /* aad */
   {0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
    0x70}, /* pText */
   {0x20,0xC5,0xD6,0x0E,0x02,0x87,0xBC,0x91,0xFD,0x92,0x61,0x40,0x9F,0xBE,0x0A,0xE3,
    0x09}, /* cText */
   {0x81,0x14,0xA2,0x8F,0x9E,0x36,0x30,0x5B,0x2A,0x9F,0xEB,0xA4,0xC6,0xCF,0x3A,0xA4}  ,/* mac */


/* ---------- KAT vector # 21 ------------- */
{ 256,  16,   0, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F}, /* key */
   {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F}, /* nonce */
   {0x00}, /* aad */
   {0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F}, /* pText */
   {0x20,0xC5,0xD6,0x0E,0x02,0x87,0xBC,0x91,0xFD,0x92,0x61,0x40,0x9F,0xBE,0x0A,0xE3}, /* cText */
   {0xDB,0xC8,0x30,0xFB,0x61,0x6A,0xD4,0x5E,0x6D,0x23,0x2E,0x22,0x35,0xAC,0xBC,0x17}  ,/* mac */


/* ---------- KAT vector # 22 ------------- */
{ 256,  15,   0, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F}, /* key */
   {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F}, /* nonce */
   {0x00}, /* aad */
   {0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E}, /* pText */
   {0x20,0xC5,0xD6,0x0E,0x02,0x87,0xBC,0x91,0xFD,0x92,0x61,0x40,0x9F,0xBE,0x0A}, /* cText */
   {0xD6,0x60,0xE8,0x28,0x17,0x92,0xE5,0xD0,0x08,0xD7,0xB2,0x54,0x9E,0x31,0xA6,0xEC}  ,/* mac */


/* ---------- KAT vector # 23 ------------- */
{ 256,  14,   0, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F}, /* key */
   {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F}, /* nonce */
   {0x00}, /* aad */
   {0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D}, /* pText */
   {0x20,0xC5,0xD6,0x0E,0x02,0x87,0xBC,0x91,0xFD,0x92,0x61,0x40,0x9F,0xBE}, /* cText */
   {0x9E,0xE7,0xD6,0x2B,0xD0,0x01,0x05,0x03,0xDB,0xFA,0xB0,0x63,0x49,0xD4,0xE5,0xDE}  ,/* mac */


/* ---------- KAT vector # 24 ------------- */
{ 256,  13,   0, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F}, /* key */
   {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F}, /* nonce */
   {0x00}, /* aad */
   {0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C}, /* pText */
   {0x20,0xC5,0xD6,0x0E,0x02,0x87,0xBC,0x91,0xFD,0x92,0x61,0x40,0x9F}, /* cText */
   {0xC2,0x7F,0xDD,0x27,0x58,0x2E,0x3B,0x13,0x08,0xAD,0xB0,0x15,0x91,0xB1,0x58,0xBF}  ,/* mac */


/* ---------- KAT vector # 25 ------------- */
{ 256,  12,   0, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F}, /* key */
   {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F}, /* nonce */
   {0x00}, /* aad */
   {0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B}, /* pText */
   {0x20,0xC5,0xD6,0x0E,0x02,0x87,0xBC,0x91,0xFD,0x92,0x61,0x40}, /* cText */
   {0x03,0xCA,0x73,0x5B,0x83,0xA4,0x4A,0x4E,0x48,0x2A,0xF9,0x4E,0x42,0x77,0x02,0x1F}  ,/* mac */


/* ---------- KAT vector # 26 ------------- */
{ 256,  11,   0, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F}, /* key */
   {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F}, /* nonce */
   {0x00}, /* aad */
   {0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A}, /* pText */
   {0x20,0xC5,0xD6,0x0E,0x02,0x87,0xBC,0x91,0xFD,0x92,0x61}, /* cText */
   {0xBA,0x12,0x60,0x79,0x1F,0x0C,0x07,0xD8,0x41,0x48,0x5E,0x5F,0x4E,0xE0,0xE7,0xC4}  ,/* mac */


/* ---------- KAT vector # 27 ------------- */
{ 256,  10,   0, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F}, /* key */
   {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F}, /* nonce */
   {0x00}, /* aad */
   {0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69}, /* pText */
   {0x20,0xC5,0xD6,0x0E,0x02,0x87,0xBC,0x91,0xFD,0x92}, /* cText */
   {0x26,0x78,0xFF,0xF0,0xB3,0x5B,0x84,0x69,0xC7,0x6A,0xD9,0xC3,0x1C,0x49,0x8E,0xFB}  ,/* mac */


/* ---------- KAT vector # 28 ------------- */
{ 256,   9,   0, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F}, /* key */
   {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F}, /* nonce */
   {0x00}, /* aad */
   {0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68}, /* pText */
   {0x20,0xC5,0xD6,0x0E,0x02,0x87,0xBC,0x91,0xFD}, /* cText */
   {0x0B,0xB6,0xA1,0x2B,0xB9,0x21,0x31,0x60,0x0C,0x1C,0xA2,0xA5,0xE7,0xF9,0x6E,0x56}  ,/* mac */


/* ---------- KAT vector # 29 ------------- */
{ 256,   8,   0, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F}, /* key */
   {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F}, /* nonce */
   {0x00}, /* aad */
   {0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67}, /* pText */
   {0x20,0xC5,0xD6,0x0E,0x02,0x87,0xBC,0x91}, /* cText */
   {0x6E,0x8D,0x2E,0x17,0xDE,0xD7,0xDA,0x70,0x46,0xE5,0x6E,0x2B,0x89,0x6C,0xC1,0xD2}  ,/* mac */


/* ---------- KAT vector # 30 ------------- */
{ 256,   7,   0, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F}, /* key */
   {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F}, /* nonce */
   {0x00}, /* aad */
   {0x60,0x61,0x62,0x63,0x64,0x65,0x66}, /* pText */
   {0x20,0xC5,0xD6,0x0E,0x02,0x87,0xBC}, /* cText */
   {0x10,0x61,0x84,0x1D,0xA0,0x17,0x2E,0xF1,0xC2,0x27,0xB3,0xF8,0xAD,0x3A,0xCE,0xEE}  ,/* mac */


/* ---------- KAT vector # 31 ------------- */
{ 256,   6,   0, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F}, /* key */
   {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F}, /* nonce */
   {0x00}, /* aad */
   {0x60,0x61,0x62,0x63,0x64,0x65}, /* pText */
   {0x20,0xC5,0xD6,0x0E,0x02,0x87}, /* cText */
   {0x71,0xE9,0xCF,0x92,0xE9,0x5B,0x8A,0x98,0xB1,0x22,0x10,0x85,0xBA,0x5C,0x33,0x26}  ,/* mac */


/* ---------- KAT vector # 32 ------------- */
{ 256,   5,   0, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F}, /* key */
   {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F}, /* nonce */
   {0x00}, /* aad */
   {0x60,0x61,0x62,0x63,0x64}, /* pText */
   {0x20,0xC5,0xD6,0x0E,0x02}, /* cText */
   {0x07,0x99,0xD8,0x96,0xDC,0xA8,0x2A,0x81,0x72,0xDC,0xD3,0xAA,0x43,0x15,0xA8,0x3D}  ,/* mac */


/* ---------- KAT vector # 33 ------------- */
{ 256,   4,   0, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F}, /* key */
   {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F}, /* nonce */
   {0x00}, /* aad */
   {0x60,0x61,0x62,0x63}, /* pText */
   {0x20,0xC5,0xD6,0x0E}, /* cText */
   {0x2A,0x1E,0x8F,0xFB,0x14,0xDE,0x38,0xE9,0xA2,0x16,0x75,0xFA,0x7B,0xC9,0x93,0xE1}  ,/* mac */


/* ---------- KAT vector # 34 ------------- */
{ 256,   3,   0, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F}, /* key */
   {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F}, /* nonce */
   {0x00}, /* aad */
   {0x60,0x61,0x62}, /* pText */
   {0x20,0xC5,0xD6}, /* cText */
   {0xAF,0x97,0xE2,0xAA,0xB4,0x03,0xA2,0x68,0xC8,0x66,0x09,0xB6,0x2D,0xF8,0x9B,0x1C}  ,/* mac */


/* ---------- KAT vector # 35 ------------- */
{ 256,   2,   0, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F}, /* key */
   {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F}, /* nonce */
   {0x00}, /* aad */
   {0x60,0x61}, /* pText */
   {0x20,0xC5}, /* cText */
   {0x6E,0x18,0xFF,0x3D,0x18,0x95,0xF6,0xE2,0x28,0x50,0x8C,0xF0,0x1C,0xC3,0xCA,0x86}  ,/* mac */


/* ---------- KAT vector # 36 ------------- */
{ 256,   1,   0, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F}, /* key */
   {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F}, /* nonce */
   {0x00}, /* aad */
   {0x60}, /* pText */
   {0x20}, /* cText */
   {0x01,0x51,0x40,0x7C,0xD9,0x75,0x66,0x07,0x3B,0xAC,0xF2,0x41,0xEA,0x16,0x86,0x46}  ,/* mac */


/* ---------- KAT vector # 37 ------------- */
{ 256,   0,   0, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F}, /* key */
   {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F}, /* nonce */
   {0x00}, /* aad */
   {0x00}, /* pText */
   {0x00}, /* cText */
   {0xA6,0x3B,0x58,0x24,0xF2,0x92,0x8A,0x85,0x46,0x04,0xF6,0x2D,0x7A,0xC2,0xB5,0x29}  ,/* mac */


/* ---------- KAT vector # 38 ------------- */
{   0,  36,   0,  64, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x30,0xF7,0xE7,0x86,0x30,0xE0,0x0E,0x0D,0x39,0xDE,0x5E,0x9E,0xEA,0x30,0x5A,0x7E}, /* nonce */
   {0x00}, /* aad */
   {0xC1,0x74,0x0F,0x3F,0x73,0x57,0xD7,0x64,0x20,0x48,0x39,0x20,0x6F,0x85,0xF9,0x18,
    0xD1,0xAF,0xDF,0x9F,0x47,0x19,0x15,0x35,0xA1,0x84,0xC8,0xE6,0x38,0x67,0xAC,0x74,
    0x76,0xAF,0x42,0x92}, /* pText */
   {0xE2,0x4E,0x08,0xC5,0xF2,0x06,0x77,0x20,0x01,0xC2,0x54,0x38,0x8E,0x48,0x71,0x2C,
    0xC2,0xDB,0x94,0x2D,0x82,0xB0,0x3B,0xF9,0x49,0x8E,0x72,0xCE,0x57,0x83,0x4A,0xFF,
    0xF6,0x87,0xC3,0x72}, /* cText */
   {0x1E,0xA8,0x01,0x0B,0x35,0xA5,0xA6,0x3A}  ,/* mac */


/* ---------- KAT vector # 39 ------------- */
{   8,  35,   1,  64, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x62}, /* key */
   {0x11,0x8C,0xE8,0x7A,0xB4,0x66,0x26,0xE5,0xD5,0x87,0x70,0x20,0xC8,0xC2,0x7C,0x9A}, /* nonce */
   {0x9B}, /* aad */
   {0x61,0xA6,0x6C,0xD1,0x7B,0xA6,0x9A,0x92,0xBE,0x50,0xE6,0x56,0x05,0x04,0xA3,0xFF,
    0xE2,0xF9,0xAA,0x09,0x3F,0xA2,0xDE,0xF5,0x18,0x94,0x93,0xB7,0x55,0xA9,0xDB,0x5C,
    0xD9,0xE0,0xA9}, /* pText */
   {0x65,0x59,0x68,0x16,0xB7,0xAA,0x06,0x54,0x9A,0xB7,0x37,0xF0,0x33,0xF9,0xE0,0xE0,
    0x80,0x17,0x57,0xD0,0xB6,0xC2,0x3D,0x27,0x94,0xF9,0x04,0xFE,0xCC,0x4B,0x23,0x9E,
    0x34,0x88,0x48}, /* cText */
   {0x9A,0x5B,0x52,0x14,0x56,0xD1,0x27,0x5A}  ,/* mac */


/* ---------- KAT vector # 40 ------------- */
{  16,  34,   2, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0xD6,0x74}, /* key */
   {0x6E,0x87,0x1B,0x4E,0x21,0x3C,0x41,0x8D,0x85,0x15,0xB0,0xEC,0xCD,0xC7,0xD5,0x95}, /* nonce */
   {0xF2,0x62}, /* aad */
   {0x85,0x96,0xFB,0xA0,0x3E,0x4E,0x55,0xF9,0xA9,0xC6,0x84,0x11,0x64,0x17,0xF0,0x7E,
    0x26,0xB1,0xDE,0x9F,0x28,0x10,0x89,0x7F,0xDD,0xDA,0x4E,0xC9,0x05,0xC4,0x4A,0xC5,
    0xE9,0xA3}, /* pText */
   {0xCA,0xFB,0x57,0xD0,0xB9,0x98,0xCA,0xA4,0x07,0x7C,0x3C,0x97,0x4D,0x57,0xE7,0x6A,
    0xB3,0x67,0x2E,0x6B,0xC5,0x7A,0x7D,0xEE,0xF6,0xCF,0x8B,0x8D,0x90,0x4F,0x3A,0xFF,
    0xF9,0x93}, /* cText */
   {0x77,0xBB,0xC6,0x72,0x54,0x85,0x9A,0x57,0x94,0xA9,0x72,0x74,0xA2,0xB8,0x13,0xDC}  ,/* mac */


/* ---------- KAT vector # 41 ------------- */
{  24,  33,   3, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x7F,0xD5,0x5C}, /* key */
   {0x43,0xFA,0x0F,0x04,0xED,0x86,0x5D,0x47,0xBE,0xCD,0x3A,0x9B,0xEE,0xD3,0xDC,0xDE}, /* nonce */
   {0xAA,0x77,0xB1}, /* aad */
   {0xBB,0x1F,0xAD,0x87,0x35,0x7D,0xF6,0xEE,0xCE,0xCF,0x7A,0x98,0x4F,0xAE,0xD3,0x7B,
    0x08,0x5B,0x66,0x73,0xC7,0x9B,0xE4,0x7E,0x49,0xB2,0x59,0xAD,0x1A,0xAD,0xAC,0xF1,
    0xC9}, /* pText */
   {0xE3,0x9F,0x2C,0xC5,0x70,0x85,0xC1,0x7F,0xD6,0xEA,0xE6,0x1F,0xDB,0x61,0x76,0x77,
    0x4C,0x21,0x40,0x7E,0x8F,0x91,0x69,0xCF,0x8F,0xA1,0x7D,0xC6,0x19,0x98,0x32,0x7D,
    0x7D}, /* cText */
   {0x00,0xDE,0x33,0xD7,0x3C,0x5E,0x95,0x82,0x1F,0xC8,0xBC,0x6A,0xC0,0xA8,0x71,0x7E}  ,/* mac */


/* ---------- KAT vector # 42 ------------- */
{  32,  32,   4,  96, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x0D,0xDC,0x99,0x79}, /* key */
   {0x58,0x1F,0xF7,0x1B,0xF9,0xBD,0xF0,0x79,0xCF,0xAB,0x94,0xB7,0x05,0xB9,0x6B,0x82}, /* nonce */
   {0x9C,0xC1,0x8C,0xD5}, /* aad */
   {0x36,0x60,0x0E,0xAC,0xC6,0x35,0x08,0x4F,0xEF,0x68,0x0F,0xAE,0x0F,0xEA,0x56,0x93,
    0x8A,0xF4,0x4E,0xCD,0xF0,0xA6,0x7D,0x64,0xA3,0x00,0x28,0xC1,0x8F,0xB5,0x80,0x3F}, /* pText */
   {0xE9,0x7C,0xDA,0x87,0x56,0xB9,0xFC,0x11,0xC5,0xE1,0x5E,0x0F,0x70,0x18,0xCE,0x53,
    0x36,0xA4,0x64,0xF2,0x8A,0x55,0x33,0x54,0x79,0x99,0x13,0x69,0x7B,0x59,0x60,0xCC}, /* cText */
   {0x28,0xC3,0xF5,0x65,0xAC,0x7A,0x65,0xCD,0xA1,0xEF,0x06,0x97}  ,/* mac */


/* ---------- KAT vector # 43 ------------- */
{  40,  31,   5,  64, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x40,0x4E,0x14,0x06,0x16}, /* key */
   {0x91,0x1F,0x63,0x37,0x0A,0x24,0x90,0x5F,0xAC,0x2B,0xCF,0x3F,0x97,0xD3,0x7E,0xA4}, /* nonce */
   {0xC4,0x00,0x32,0xAC,0xAD}, /* aad */
   {0xB9,0x49,0x3F,0x73,0xAD,0xD1,0xA8,0x6E,0x7C,0xFF,0xE6,0x48,0x31,0xDA,0xDE,0x4B,
    0x25,0xC6,0x96,0x1E,0xEB,0x73,0xD7,0x2D,0xC5,0x20,0xDD,0x31,0x1F,0xED,0x87}, /* pText */
   {0x1F,0x80,0xE3,0x6C,0x4C,0x80,0x39,0x33,0x37,0xED,0x53,0xB5,0x4E,0x52,0x4B,0x24,
    0x6B,0xC7,0x32,0x0A,0xF9,0x65,0x2D,0xE1,0x03,0x5D,0xB1,0x59,0x7E,0xCB,0xEB}, /* cText */
   {0x3F,0x4C,0xFD,0x63,0x9B,0xB0,0x11,0xC0}  ,/* mac */


/* ---------- KAT vector # 44 ------------- */
{  48,  30,   6,  64, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0xDC,0x61,0x85,0x3F,0xD8,0x52}, /* key */
   {0x5C,0x37,0xD3,0x7D,0xFE,0x40,0xD6,0xC3,0x33,0x2B,0x3D,0xEA,0x10,0xEB,0x48,0x08}, /* nonce */
   {0x00,0x3C,0x10,0x97,0xC2,0x0F}, /* aad */
   {0x54,0x26,0x14,0x15,0xC3,0xEA,0xB3,0x2C,0x4A,0x62,0x88,0xB9,0x4C,0x7B,0x61,0x50,
    0x56,0xB3,0x55,0x53,0x26,0x69,0xAC,0x8B,0xF6,0xB8,0x7C,0x12,0x04,0x7C}, /* pText */
   {0x22,0xAB,0x57,0xE4,0xFD,0xA8,0xDE,0xA3,0xDA,0xF1,0x5C,0xCA,0xF8,0xE4,0x01,0x86,
    0x68,0x51,0x35,0x0B,0x8C,0xD0,0xA1,0xCF,0x3D,0x38,0x71,0x9B,0x2E,0x5D}, /* cText */
   {0x0D,0x09,0x98,0x7C,0x55,0xC7,0xA8,0xC0}  ,/* mac */


/* ---------- KAT vector # 45 ------------- */
{  56,  29,   7,  96, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0xD3,0xB7,0xCB,0x4C,0x6D,0x25,0x9E}, /* key */
   {0x30,0x3C,0xF6,0x95,0x1E,0xF4,0xB6,0x7A,0x90,0xCC,0x6D,0x96,0x9D,0x61,0x1B,0x4E}, /* nonce */
   {0xC2,0xB7,0x0A,0x88,0x86,0x0A,0xFF}, /* aad */
   {0x95,0xF3,0xA2,0x42,0xB6,0xB5,0x92,0xEB,0x58,0xAA,0xE6,0xFE,0x43,0x89,0x92,0xEB,
    0x7C,0x4D,0x03,0xEB,0x86,0x4D,0xC4,0xCC,0x00,0xE2,0x35,0xCB,0xAC}, /* pText */
   {0x2D,0x58,0x28,0x37,0x64,0x85,0x4D,0x35,0xB7,0x46,0x3A,0xC5,0x72,0xB7,0x7B,0xF8,
    0x32,0x14,0xC5,0x65,0x1F,0xDB,0x02,0x90,0x0E,0xA8,0x5F,0xD8,0x20}, /* cText */
   {0xEE,0xE5,0xDB,0x27,0x82,0xE0,0x62,0xFA,0x1D,0x8D,0x5C,0x54}  ,/* mac */


/* ---------- KAT vector # 46 ------------- */
{  64,  28,   8,  96, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x53,0xFB,0x2C,0x77,0x33,0x08,0x2A,0x2F}, /* key */
   {0xA4,0x3F,0xEB,0xEE,0x79,0x47,0x84,0xD6,0xEE,0x09,0x28,0x26,0x7C,0xA3,0x54,0x8B}, /* nonce */
   {0xE0,0x60,0x94,0x6C,0x93,0x25,0x5B,0x01}, /* aad */
   {0x13,0x8B,0x61,0xCF,0x21,0xF0,0x36,0xD8,0x7A,0xFD,0x2B,0x99,0xFE,0x40,0x19,0x06,
    0xC6,0x68,0x7D,0xCD,0x6A,0x69,0x24,0x16,0x71,0x6C,0xF4,0x24}, /* pText */
   {0xF2,0xD2,0x2A,0x88,0x35,0x96,0x7A,0x96,0x11,0xD5,0x71,0x6A,0xC5,0x21,0x1E,0x62,
    0x2D,0x72,0xCB,0xB9,0xAC,0xE2,0xA0,0x3F,0x04,0xEA,0x49,0x9A}, /* cText */
   {0x8D,0xF7,0x28,0x69,0xC8,0x10,0x84,0xBA,0x91,0x19,0xE0,0xBF}  ,/* mac */


/* ---------- KAT vector # 47 ------------- */
{  72,  27,   9,  96, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0xEC,0xEA,0x77,0x41,0xFC,0xAD,0x23,0xAE,0xD8}, /* key */
   {0xDB,0x65,0x84,0x95,0x41,0x13,0xF1,0x73,0x48,0x40,0xFF,0x61,0x7A,0x3F,0x32,0x52}, /* nonce */
   {0x8E,0x0B,0x89,0xFB,0xE7,0x2F,0x51,0xD9,0x2F}, /* aad */
   {0x89,0xEC,0xFA,0x3A,0x6F,0xAD,0x9B,0xD5,0xBC,0xF7,0xAD,0x6B,0xF9,0x10,0xFF,0x70,
    0x1F,0x8A,0x3C,0x9C,0x6A,0x06,0x37,0x81,0xDE,0x47,0x9D}, /* pText */
   {0x57,0x4F,0xAF,0xCF,0xC2,0xFA,0x9F,0xFB,0x1E,0x8E,0xE5,0x50,0x31,0x24,0x3B,0x02,
    0x80,0xB2,0x1F,0x98,0x04,0xCB,0x2D,0xCC,0x33,0xBA,0xFC}, /* cText */
   {0xAA,0x44,0xCB,0xC2,0xE8,0xDF,0x1E,0x3B,0x8C,0xD6,0x30,0x05}  ,/* mac */


/* ---------- KAT vector # 48 ------------- */
{  80,  26,  10,  32, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0xD7,0x4D,0xC3,0x82,0x03,0x26,0x7B,0xC6,0x3B,0xD3}, /* key */
   {0xDA,0xC9,0x76,0xFF,0x96,0xA3,0x0E,0x20,0x31,0x17,0x8E,0x3E,0xFB,0x97,0x66,0xD4}, /* nonce */
   {0xD2,0xFE,0x7B,0xC0,0x82,0x0E,0x2B,0x88,0x8B,0x7C}, /* aad */
   {0x33,0xC3,0x4D,0x09,0xAF,0x97,0xA3,0xE7,0x22,0x81,0x68,0x9B,0x8B,0x11,0xA2,0xDB,
    0xAE,0x93,0x60,0xF1,0x44,0xC0,0xCA,0x97,0x5C,0xD1}, /* pText */
   {0x36,0xC1,0xB8,0xC2,0x00,0xCA,0x0C,0x6D,0x68,0x9A,0xBF,0xC6,0xBA,0xFE,0xC0,0x00,
    0x78,0x30,0x91,0xD5,0x18,0x05,0x81,0x4A,0x75,0x03}, /* cText */
   {0x26,0xDA,0x1A,0x88}  ,/* mac */


/* ---------- KAT vector # 49 ------------- */
{  88,  25,  11,  64, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x7F,0xA7,0x84,0x87,0x1A,0x39,0xB7,0x52,0x7C,0x82,0x7F}, /* key */
   {0x8C,0x7C,0x02,0x82,0xE9,0xD1,0x83,0x48,0xA4,0xC1,0xA6,0x70,0x47,0xE0,0xF6,0x52}, /* nonce */
   {0x0A,0x3E,0x79,0xEA,0x3B,0xEB,0xD6,0xB6,0x51,0x25,0xD6}, /* aad */
   {0xBF,0x25,0xBB,0xBF,0x87,0xD1,0xCC,0x14,0xB1,0x75,0x49,0xE1,0x58,0x36,0xDF,0x6E,
    0x3C,0xA6,0x03,0x27,0x05,0x55,0xD4,0x2C,0xD7}, /* pText */
   {0x6D,0x8A,0x32,0x19,0xC1,0x25,0x67,0xCB,0x1F,0xE5,0x8D,0x7C,0x5F,0x32,0x70,0x2B,
    0xAC,0x6A,0x16,0x5C,0xE1,0x71,0x9A,0xBA,0x3E}, /* cText */
   {0x91,0xBF,0x51,0xBE,0xAF,0x70,0xFA,0x31}  ,/* mac */


/* ---------- KAT vector # 50 ------------- */
{  96,  24,  12,  32, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0xE9,0xC9,0x52,0xCA,0x76,0xD7,0xDE,0xD4,0xF7,0x60,0xB6,0x51}, /* key */
   {0xC7,0x4D,0xE5,0xC0,0xA9,0x22,0x55,0x0D,0x6D,0x8C,0x2F,0xE4,0xE8,0x9B,0x9E,0x6B}, /* nonce */
   {0xFC,0x71,0x78,0x1E,0x90,0x8B,0xFA,0x47,0xDD,0x84,0x8D,0x6C}, /* aad */
   {0x8F,0x71,0x26,0xD8,0xD8,0x45,0x63,0x27,0x7E,0xD0,0x60,0x8D,0x93,0xF6,0xCA,0x21,
    0x69,0x81,0x42,0x55,0xB8,0x6A,0x39,0x63}, /* pText */
   {0xFA,0x66,0x2A,0xAD,0xAC,0xD1,0x5B,0xB0,0xFD,0xB8,0xF7,0xC5,0x57,0x54,0xEA,0x3B,
    0xC5,0xD2,0x9C,0x40,0x88,0x68,0x73,0x48}, /* cText */
   {0x9A,0x57,0x1B,0xBE}  ,/* mac */


/* ---------- KAT vector # 51 ------------- */
{ 104,  23,  13,  64, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x8B,0xF3,0x8F,0x3E,0xCD,0x42,0xC6,0xA8,0x98,0x14,0x39,0xA9,0x73}, /* key */
   {0x6F,0xE5,0x28,0x19,0xDA,0xA9,0xFF,0x4E,0x47,0xE5,0xF6,0xDC,0x05,0x29,0x37,0xEB}, /* nonce */
   {0x8E,0xB4,0x0D,0xDD,0xE3,0x7F,0x7E,0x05,0x43,0x64,0x9C,0x94,0xFB}, /* aad */
   {0x8D,0x4A,0xA0,0x30,0xDC,0x31,0x1A,0x13,0xCB,0xF4,0xBD,0xBD,0x06,0xFC,0x52,0x84,
    0x32,0x09,0x9A,0xD0,0xC6,0xDB,0x1A}, /* pText */
   {0x5B,0x5E,0xB2,0x43,0xD3,0x34,0xAE,0xCB,0x71,0x48,0x55,0x17,0xFD,0x4A,0x01,0x53,
    0xF8,0xFE,0xB8,0x29,0xB3,0x08,0xAC}, /* cText */
   {0xE4,0xF0,0xEF,0xEB,0xFD,0xAD,0x1D,0x8C}  ,/* mac */


/* ---------- KAT vector # 52 ------------- */
{ 112,  22,  14, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x45,0x10,0xD5,0x13,0x33,0xFC,0xE8,0xDE,0x91,0xC3,0x67,0xC4,0x90,0xD2}, /* key */
   {0xCB,0x28,0x25,0x51,0xF7,0x01,0x4E,0xE6,0x28,0xC7,0x82,0xCA,0x29,0xA9,0x3C,0xB6}, /* nonce */
   {0xB5,0x2F,0x6B,0x4D,0xCF,0x4A,0x1E,0x10,0x75,0x21,0xE1,0x30,0x6C,0x88}, /* aad */
   {0xB9,0x2D,0xB4,0xF9,0x75,0x7B,0xDC,0x58,0x05,0xDA,0xED,0x06,0x40,0x3B,0x51,0x59,
    0x88,0x2D,0xF1,0xA1,0x69,0x22}, /* pText */
   {0x64,0xBD,0x52,0x00,0x93,0xF7,0xB5,0x92,0x52,0x70,0xA7,0x4F,0x0D,0xAE,0x9E,0x60,
    0x98,0x2B,0x91,0x3C,0x1D,0x80}, /* cText */
   {0xFE,0xEB,0xA0,0x12,0x1E,0x73,0x41,0xAE,0x9A,0xC3,0x0E,0xCB,0xC2,0x2C,0x79,0x5E}  ,/* mac */


/* ---------- KAT vector # 53 ------------- */
{ 120,  21,  15,  64, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x20,0x4B,0x24,0x66,0x59,0xE6,0x79,0x34,0x94,0xB4,0x89,0x4F,0x9D,0x36,0xF4}, /* key */
   {0x2B,0x0A,0xD8,0x6E,0xB5,0x83,0x01,0x1E,0xB6,0xF7,0xF3,0xE2,0x14,0xEE,0x6D,0x32}, /* nonce */
   {0x37,0xB0,0x82,0xDD,0x92,0x36,0x3E,0x9B,0x9A,0xDE,0x59,0x34,0xF9,0xAB,0xCF}, /* aad */
   {0x73,0xFA,0x31,0x79,0x1E,0xEE,0xFA,0xBF,0x07,0xFE,0x4B,0xA1,0x96,0xCC,0x54,0x35,
    0x9A,0x2D,0x7E,0xA3,0xE2}, /* pText */
   {0x9A,0xAE,0x06,0xEE,0xC7,0xD3,0x55,0x6B,0xCA,0x8E,0xC9,0x36,0xA5,0xEB,0xCE,0x36,
    0xD6,0x09,0xD3,0x99,0x85}, /* cText */
   {0xBE,0x66,0x9E,0xD0,0xBE,0x64,0xA4,0x72}  ,/* mac */


/* ---------- KAT vector # 54 ------------- */
{ 128,  20,  16, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x75,0xF4,0xDA,0xEF,0x7E,0xC1,0xB8,0x61,0xF8,0x2A,0x03,0x29,0xA2,0x6C,0xF2,0x0B}, /* key */
   {0x9C,0xE1,0x95,0x24,0x1D,0xE9,0x1F,0xF0,0xE8,0xCD,0x11,0x87,0xD0,0x80,0x5B,0x09}, /* nonce */
   {0xFB,0x3E,0x10,0xF7,0xFC,0xD4,0xFD,0x85,0x87,0x83,0x97,0x4F,0xC1,0xCE,0xD2,0x8E}, /* aad */
   {0x88,0x9D,0xB5,0xC8,0x56,0x84,0x9E,0x3C,0x26,0xA6,0x56,0x2D,0x04,0xD1,0x99,0x75,
    0xFD,0x8E,0xAE,0x7D}, /* pText */
   {0xD7,0x7F,0x9B,0x1C,0xB1,0xAA,0x11,0x64,0xBE,0x48,0x0F,0xD2,0xB1,0x54,0xF4,0x9F,
    0xFC,0xC5,0xBD,0xE0}, /* cText */
   {0x5B,0x5B,0x8B,0x99,0xE3,0x2F,0x83,0x00,0x8A,0x29,0x84,0x7D,0xC2,0xAF,0x7F,0x03}  ,/* mac */


/* ---------- KAT vector # 55 ------------- */
{ 136,  19,  17,  96, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0xFA,0x01,0x7E,0x34,0xD7,0x1B,0x0E,0x2C,0xC0,0xB8,0x09,0xB0,0x73,0x93,0xAA,0x5D,
    0xE3}, /* key */
   {0xB5,0xC0,0xB9,0x4A,0xAC,0x4F,0xF6,0x0C,0x61,0xD5,0x2F,0xDE,0xA4,0xC7,0x77,0x0C}, /* nonce */
   {0xC7,0xAD,0x14,0xEA,0x31,0x0E,0xB2,0x01,0x40,0x12,0x68,0x34,0x5E,0xDE,0xE9,0x27,
    0xC2}, /* aad */
   {0x73,0xD5,0xFD,0x8B,0x67,0x54,0xF5,0x28,0x56,0x9B,0x77,0x6F,0x49,0xEE,0x24,0xFC,
    0x01,0xF8,0x3D}, /* pText */
   {0x54,0xA7,0x83,0x96,0xA8,0x8B,0x61,0x39,0x8B,0xE1,0x32,0xB4,0x4A,0xDB,0x46,0x76,
    0x11,0xD1,0x90}, /* cText */
   {0xC3,0x78,0xFE,0xFB,0xED,0x69,0x9F,0x54,0x79,0xAE,0xDC,0xF7}  ,/* mac */

/**************************************************************
 **** Phelix internal state (for debugging)
 **************************************************************
SetupKey:  keySize = 136 bits. MAC tag = 96 bits.
  Raw Key = 
  FA 01 7E 34 D7 1B 0E 2C C0 B8 09 B0 73 93 AA 5D
  E3
KeyMixing:
X.8  =347E01FA 2C0E1BD7 B009B8C0 5DAA9373 000000E3 00000000 00000000 00000000 
X.7  =347E01FA 2C0E1BD7 B009B8C0 5DAA9373 9B82FCC7 0C015707 290CA0C6 8372CB41 
X.6  =15EE17B0 895F0650 9DC22572 86ACEA84 9B82FCC7 0C015707 290CA0C6 8372CB41 
X.5  =15EE17B0 895F0650 9DC22572 86ACEA84 92E60CDE 08A93894 D5AD5784 7918393C 
X.4  =931764C3 6B46AA2F F5289F42 450C275C 92E60CDE 08A93894 D5AD5784 7918393C 
X.3  =931764C3 6B46AA2F F5289F42 450C275C 7C7898A8 E7B69732 115123FB A3BE30FE 
X.2  =6A2DE967 5DB3433E C3E493CF F7A2D612 7C7898A8 E7B69732 115123FB A3BE30FE 
X.1  =6A2DE967 5DB3433E C3E493CF F7A2D612 0FE076B8 F40F5600 12CBABEA 8B46F798 
X.0  =CA999A13 598D3C54 5AE2CFC4 61833C52 0FE076B8 F40F5600 12CBABEA 8B46F798 
**********
Phelix_C_Encrypt:  msgLen = 19. aadLen = 17.
SetupNonce: keySize  = 136 bits.  MAC tag = 96 bits.
  Nonce=
  B5 C0 B9 4A AC 4F F6 0C 61 D5 2F DE A4 C7 77 0C
Working key schedule:
X_i_0=CA999A13 598D3C54 5AE2CFC4 61833C52 0FE076B8 F40F5600 12CBABEA 8B46F798 
X_i_1=5A9A376D 010605F0 F0FB814B 97BEBF3C 7FDFD95E 4C974CED 7CB2FA65 550B74B1 

Z.-8 =2B3AFCE7 03163914 2A208361 1EBC6C4E 8B46F798.

Z.-7a=EED26A93 74C2B239 D4A8C7AF B87A3FF2 94EE7843.  OldZ       = 7FFDE000.     X_i_0 = CA999A13.
Z.-7b=0966DC1B 6653D701 4D4F08A8 8E4B5A76 8D620AD8.                          plainText= 00000000.
Z.-7c=646D232F D78767CE 7C73B5FA 5E8EA6FC 8C18024E.                             X_i_1 = 5A9A376D.
Z.-7 =D46DD45F FB2C02DC 3736680B 73430F3F 59F062C3.                       

Z.-6a=61C73C8F 71967D54 172AE10D D283DC3E F73A6C5A.  OldZ       = 7FFDE000.     X_i_0 = 598D3C54.
Z.-6b=41D4DD62 60887435 A020A54C 3B4D081D 288A5BCD.                          plainText= 00000000.
Z.-6c=43CAFEFA 4B400A24 8067BA02 0D1C4DA4 775254EA.                             X_i_1 = 010605F0.
Z.-6 =D6F4DE8A 92F671E0 CA0CEE39 3F597237 84CD299B.                       

Z.-5a=9CA1822C 0E6DEC5F 7DF1B885 AED804D7 134C594B.  OldZ       = 00000000.     X_i_0 = 5AE2CFC4.
Z.-5b=6B7951B5 0DA8A0E9 61A1E782 08D7B649 98246D55.                          plainText= 00000000.
Z.-5c=A20FFCE8 3438FA97 C0F82BE1 7EE98A55 C1212956.                             X_i_1 = F0FB814B.
Z.-5 =74ACDEAF CE9E0FA8 DC646571 54D43656 ABC9FB0F.                       

Z.-4a=022A0B93 A02ADDE9 E0E82BCA 614320DD 353D046A.  OldZ       = 77D53A05.     X_i_0 = 61833C52.
Z.-4b=6BCC0EC5 BECC1CA8 3A9050D4 ED68A1BA 0159C421.                          plainText= 00000000.
Z.-4c=6960FEB2 97832700 C156C749 90F8967D A5A79433.                             X_i_1 = 97BEBF3C.
Z.-4 =B0E41D7A 25999991 65CE4AE0 9662D8D2 F1A806E3.                       

Z.-3a=8DEC988E 0681D05D 79584511 7B28EB45 EA6C0CB9.  OldZ       = 59F062C3.     X_i_0 = 0FE076B8.
Z.-3b=97306E5F 6EE72767 07C7D090 4BB817B5 01A903C9.                          plainText= 00000000.
Z.-3c=D10C29C5 40ACC1C2 AD09CA5E 7B4A8EEC 7732A88B.                             X_i_1 = 7FDFD95E.
Z.-3 =18B2A264 F34A49BC E6017D3A 56710D04 8221650F.                       

Z.-2a=475ED0DE AEBB2DD5 A4A51245 F3E985F3 A827151C.  OldZ       = 84CD299B.     X_i_0 = F40F5600.
Z.-2b=B2DA0A60 E1C64834 A963AE48 03969A45 A7E88876.                          plainText= 00000000.
Z.-2c=E1494B6C BB42AA26 15DA3E26 C48C5161 0C62DBFD.                             X_i_1 = 4C974CED.
Z.-2 =53FF06AD 038EDDB9 C8A26CA0 28438633 5D3AB2E9.                       

Z.-1a=8519C0F8 26428983 C08169C1 A3D00483 879B55A5.  OldZ       = ABC9FB0F.     X_i_0 = 12CBABEA.
Z.-1b=09533827 CEE1350E 807B4ADE 8ACDDD46 9EB76AA5.                          plainText= 00000000.
Z.-1c=422ADB28 627ECDB6 BF6628B4 833BDAD5 5F97CE88.                             X_i_1 = 7CB2FA65.
Z.-1 =E68BDC40 4819F1EF A546E38F 9EB7F9F3 84FB3CEE.                       

Z.00a=87AC670A 54BB7734 6B78400A 31ECE186 FD0F2C35.  OldZ       = F1A806E3.     X_i_0 = 8B46F798.
Z.00b=E143A9FB A2D80D4D C2FFC3D4 362F9362 439141BF.                          plainText= 00000000.
Z.00c=E67ABA2E A53C3399 FD13AB19 2FD8541B 5414210C.                             X_i_1 = 550B74B1.
Z.00 =2FD62997 4094AF89 F5A3C2CB BD1E279B DB8C9494.                       

**********PHASE_AAD (16 bytes):
Z.01a=E8A265D9 6A5ADF17 27F232AF D6174838 430EAD22.  OldZ       = 8221650F.     X_i_0 = CA999A13.
Z.01b=79248128 A391A94A 0097482E 5EDA4443 A5A0F220.  Keystream  = 27C2572F.  plainText= EA14ADC7.
Z.01c=E6D5585B CA6DA924 45045AC8 6B133407 6EAF6466.                            X_i_1  = 5A9A376D.
Z.01 =32723783 166A1526 0F91BDED 7F879A43 84F0403A.                         cipherText= CDD6FAE8.

Z.02a=F3A38D63 6955826D D8577CD0 567BEAA3 33724CAB.  OldZ       = 5D3AB2E9.     X_i_0 = 598D3C54.
Z.02b=B9443AAA 3E7632D1 80450C83 2FC6C96E 55974E0A.  Keystream  = B2D200F3.  plainText= 01B20E31.
Z.02c=720413CF 36036E50 1D14CFF8 F0BA9738 7CA73D26.                            X_i_1  = 010605F0.
Z.02 =EFE83C48 229BB255 1B2BDED4 86D2F944 477D9162.                         cipherText= B3600EC2.

Z.03a=766B18ED 650EDDA8 D6B0DB21 16BB00DE 321FE67A.  OldZ       = 84FB3CEE.     X_i_0 = 5AE2CFC4.
Z.03b=84F07F6C 89DE92B8 D4F46E1B DCBFFC09 2268E533.  Keystream  = A7642221.  plainText= 34681240.
Z.03c=90DB6ADB 1DDFAEB1 075D7278 524399B4 1F80D578.                            X_i_1  = F0FB814B.
Z.03 =1D2D3E47 FBDE4812 683C895B 16F06236 C1EEE7BA.                         cipherText= 930C3061.

Z.04a=3B40FA68 34BF32F7 524CB842 8CD624B4 D1A506F5.  OldZ       = DB8C9494.     X_i_0 = 61833C52.
Z.04b=B6ED5199 D1A01728 ECCA7604 084FBD2F 87B8E984.  Keystream  = 63457E18.  plainText= 27E9DE5E.
Z.04c=276A15CD 6402B165 861C14B3 87CE848B 136934E1.                            X_i_1  = 97BEBF3C.
Z.04 =61F38E75 5C2C23BB E06D5A57 595F26A6 999F48BF.                         cipherText= 44ACA046.

**********PHASE_AAD (1 bytes + padding):
Z.05a=A56A3776 2DB1EBD7 DE98B67F 669840D5 DA732DDD.  OldZ       = 84F0403A.     X_i_0 = 0FE076B8.
Z.05b=0FBD3128 163057BE 3566EF56 5168D63F D4108C34.  Keystream  = 5900CC6E.  plainText= 000000C2.
Z.05c=4C104AC2 038FCBA9 CEE6A881 815F4B46 BDE9088B.                            X_i_1  = 7FDFD95E.
Z.05 =E724D2F6 361915F3 82C2DE63 5EBE95F3 3D07614E.                         cipherText= 5900CCAC.

**********PHASE_DATA:
Z.06a=C6D1D28B 2C669F67 6D158E43 9332B6F8 639BC54C.  OldZ       = 477D9162.     X_i_0 = F40F5600.
Z.06b=E734193D EAD15A7F D52D96D5 74CA07E9 D600E0C5.  Keystream  = 1D7E7227.  plainText= 8BFDD573.
Z.06c=D7D7AFCC 48ED1303 FA04668C C3268121 BEF27EC3.                            X_i_1  = 4C974CED.
Z.06 =1D7D86A6 FB6E07B0 4DD90C7A 66E90E08 9DB6BFBD.                         cipherText= 9683A754.

Z.07a=CD295D08 931DB664 31A9937F 1E20F419 44FB0653.  OldZ       = C1EEE7BA.     X_i_0 = 12CBABEA.
Z.07b=D0BFDC5F 3581BEBF EDF21145 1F6EED3D 4FA5F815.  Keystream  = 1194DFCF.  plainText= 28F55467.
Z.07c=B72B7210 9EDB5214 09F9CB53 F3B93963 1048D0EC.                            X_i_1  = 7CB2FA65.
Z.07 =1C6C7474 9C17C474 2821A33A 8B81D150 CB5C8F10.                         cipherText= 39618BA8.

Z.08a=DC8B894F D14E119D CDFD1F9F 8FDC1644 B166A01C.  OldZ       = 999F48BF.     X_i_0 = 8B46F798.
Z.08b=493C7A88 458C0B01 B4B48652 841FB712 41A6321E.  Keystream  = DB457ADD.  plainText= 6F779B56.
Z.08c=494D9869 C8F47E1C 413D0020 5CBB7F10 BC936D02.                            X_i_1  = 550B74B1.
Z.08 =BB9F88B6 3898F3A3 390D7B27 8B95F2E2 54683C4B.                         cipherText= B432E18B.

Z.09a=6AF7308E 04BFBA34 017EFC70 74706A24 14E0D137.  OldZ       = 3D07614E.     X_i_0 = CA999A13.
Z.09b=4B955FD3 FB581882 EF86252A 2D7B858C 4D5AD3B5.  Keystream  = 8A623503.  plainText= FC24EE49.
Z.09c=E9973039 CBB0DD22 DD65E6E5 8A74FA8A 5E0DA459.                            X_i_1  = 5A9A376D.
Z.09 =23E0C980 EBCBDCAD 3FBD247D 385AB81D 5D76C2E2.                         cipherText= 7646DB4A.

**********PHASE_ODD_BYTES:
Z.10a=77033AB8 0A7E3D25 4BC0C70D 154C03A2 28419365.  OldZ       = 9DB6BFBD.     X_i_0 = 598D3C54.
Z.10b=54E19DA0 FD720111 B3598B6C A792AF28 57F66953.  Keystream  = F5AD2910.  plainText= 003DF801.
Z.10c=21E993F9 A1A99155 FF4A9F92 02FC39AD F6796C77.                            X_i_1  = 010605F0.
Z.10 =C5725EBA 87E912BE A6C97D24 98900B8D 08B8B526.                         cipherText= F590D111.

**********PHASE_MAC_GEN:
Z.11a=DFABB1D9 871FD642 51F8944D 95670BBD B8381A66.  OldZ       = CB5C8F10.     X_i_0 = 5AE2CFC4.
Z.11b=A582FE26 3E6121F9 3B5FD4B0 A4818F13 829629A2.  Keystream  = 4DF2B8B2.  plainText= 00000003.
Z.11c=091A6C94 DD2E6F03 B30CE2B6 077E99DB B66085D9.                            X_i_1  = F0FB814B.
Z.11 =7ACF1607 7756D35A 8DAB4C54 2D2E9150 B4D66CAE.                         cipherText= 4DF2B8B1.

Z.12a=FB4EAF4F B50020B0 D60654AD 6485569F 87C097DC.  OldZ       = 54683C4B.     X_i_0 = 61833C52.
Z.12b=DBE3D463 05BB6196 69924D62 0BE20D13 01B70293.  Keystream  = 561F3EDE.  plainText= 00000003.
Z.12c=8BC2E7CF C990A41D 58231CAF 01FBE1D8 B45B1A16.                            X_i_1  = 97BEBF3C.
Z.12 =6E812784 5DF05BEE 536C72ED 7E4AB681 09D9B51C.                         cipherText= 561F3EDD.

Z.13a=97BC0BD9 2844299F 59D17F4F 3C8AAE2F F7BB6052.  OldZ       = 5D76C2E2.     X_i_0 = 0FE076B8.
Z.13b=F3EDBD72 FA4E6EFF B515D1A6 AF21F558 59A2F07A.  Keystream  = B719B35C.  plainText= 00000003.
Z.13c=1F659B46 C57DE54F C6D62C34 A95D08E9 0ACDA94B.                            X_i_1  = 7FDFD95E.
Z.13 =91D36597 8260267D A5F4AA3F 3A078E3E 4806C408.                         cipherText= B719B35F.

Z.14a=B5E7AB97 9BAA1729 B3D4DC5C 0D79F786 7EBE6772.  OldZ       = 08B8B526.     X_i_0 = F40F5600.
Z.14b=611B46EE A382DF28 08784DAD 6872EE3C A4AD8DBA.  Keystream  = AD6642E0.  plainText= 00000003.
Z.14c=1C6A5B93 C1B38920 F10183EC 3F2E58DB 373FD39B.                            X_i_1  = 4C974CED.
Z.14 =E4E97AFF 62D5DFB4 16304751 C657F0F1 72C2E4DD.                         cipherText= AD6642E3.

Z.15a=82D7E156 63124756 59437AE2 2DE027BA 7856B26A.  OldZ       = B4D66CAE.     X_i_0 = 12CBABEA.
Z.15b=2F2C27C3 27A9E0DA 77F5BA83 A6BCFF2A CDF2E2DE.  Keystream  = 82C94F8C.  plainText= 00000003.
Z.15c=D24DD9AB 730EE3D6 38DF4439 8A0990E6 5FB88234.                            X_i_1  = 7CB2FA65.
Z.15 =2CAD4F15 B30F1165 BA12E061 CF38C61B 1D961CF4.                         cipherText= 82C94F8F.

Z.16a=CC2A61F7 94B96742 EAA283E9 B3A8C9C5 2A30218A.  OldZ       = 09D9B51C.     X_i_0 = 8B46F798.
Z.16b=0AAF2C5A 4A3645F4 AD04927B 2B737939 D95961D5.  Keystream  = E33316F1.  plainText= 00000003.
Z.16c=454B286C 3E9F248E 6FDF364C 9F133270 46D8EAB2.                            X_i_1  = 550B74B1.
Z.16 =F54B1558 3E71E3C2 2698B404 A00C9AD8 3C628D7B.                         cipherText= E33316F2.

Z.17a=AF60612A 51C4F5EB 0869679E 37B8213B AA47C94E.  OldZ       = 4806C408.     X_i_0 = CA999A13.
Z.17b=A64AD31D 19E52FDC B3684056 C97144F3 4CB2974A.  Keystream  = 94B95B52.  plainText= 00000003.
Z.17c=78301ADF 5F1C999A B0B7B9A8 C4EE239E 716DBD89.                            X_i_1  = 5A9A376D.
Z.17 =1FC67B84 89209973 0DFF7483 DFACACFA AFDED589.                         cipherText= 94B95B51.

Z.18a=E650FDFE FDBBF0E3 B9FBE518 6E82012A 05EC1AA8.  OldZ       = 72C2E4DD.     X_i_0 = 598D3C54.
Z.18b=0802E5FC BF525FC2 0B74B31D 93F86A95 6B0EA525.  Keystream  = DDD18A02.  plainText= 00000003.
Z.18c=F6A12537 84139CA9 C71F211F 1F2BCD1B DB6600D9.                            X_i_1  = 010605F0.
Z.18 =613D690F ACE382FB B602E653 27408FB6 5DAB2C5E.                         cipherText= DDD18A01.

Z.19a=FBF18B10 3ABD642A 3D2C7CFE 4D55BCF9 FB3A74EE.  OldZ       = 1D961CF4.     X_i_0 = 5AE2CFC4.
Z.19b=7AD53C90 3886260C 1EB09572 14DC8002 DE685BCC.  Keystream  = FBFE78C0.  plainText= 00000003.
Z.19c=6379231F BA07605B 53C72202 56EF8BB6 2ABDFA9A.                            X_i_1  = F0FB814B.
Z.19 =E0424922 D4D60C85 0B2A00CF 26767DAE C70A1551.                         cipherText= FBFE78C3.

Z.20a=718DA00D 80875A6F 8C3E1B25 A53732ED B120DA49.  OldZ       = 3C628D7B.     X_i_0 = 61833C52.
Z.20b=F327737C 3C01318D 6EBD4AE0 9AF54CE1 183CDC73.  Keystream  = 549F69EE.  plainText= 00000003.
Z.20c=3980BD1C F8380150 157DC143 F24EC37A C6D20476.                            X_i_1  = 97BEBF3C.
Z.20 =FCDB38D3 502931F7 21602219 FB7DB604 8985D9CA.                         cipherText= 549F69ED.

Z.21a=B1DDAFF0 BC2F0766 999DB271 02AD767F 6E4BD881.  OldZ       = AFDED589.     X_i_0 = 0FE076B8.
Z.21b=2C7A3504 26FF3E93 9DBEA707 93103D86 47FDD8F1.  Keystream  = F7DCAE7A.  plainText= 00000003.
Z.21c=14E5137F F45E11BB AB1C4469 703E5E0C 04C4D13F.                            X_i_1  = 7FDFD95E.
Z.21 =4F9E4FB2 D6042784 02ED2C52 0CAA5807 0A3089FA.                         cipherText= F7DCAE79.

Z.22a=914F72B8 D2C5FB80 17D6BD4B CC37372B 52B9ECFE.  OldZ       = 5DAB2C5E.     X_i_0 = F40F5600.
Z.22b=F935109F E0BBF403 1C179BCD 7389E548 557F7689.  Keystream  = B32AA2E7.  plainText= 00000003.
Z.22c=7DEBD4D9 EDAA30D8 DC4EE152 C49F5348 83546D14.                            X_i_1  = 4C974CED.
Z.22 =48B6CDD7 F2EE6377 258ABBA9 A026329E C48EC5B7.                         cipherText= B32AA2E4.

***************************************************************/


/* ---------- KAT vector # 56 ------------- */
{ 144,  18,  18,  64, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x35,0xE0,0x95,0xE6,0x85,0x7A,0x02,0xB3,0xB1,0xE6,0xEC,0x19,0x1C,0x9C,0x62,0xE8,
    0xAE,0x7A}, /* key */
   {0x5A,0xDF,0x79,0xB4,0xC1,0x12,0x83,0xDA,0x6E,0xB3,0x5D,0x39,0x33,0xCA,0x18,0x94}, /* nonce */
   {0xDF,0x8A,0xED,0x61,0x20,0x3F,0x04,0xB5,0x43,0x8F,0x4E,0x3B,0xBD,0x15,0xA3,0x4E,
    0x8E,0x46}, /* aad */
   {0xF8,0xE8,0xDB,0xE9,0x6E,0xB9,0x9D,0x81,0x5C,0xB8,0xEE,0xAA,0xC8,0xC9,0x15,0x29,
    0x1D,0x3A}, /* pText */
   {0xFC,0x66,0x14,0xF6,0x04,0x8D,0xE2,0x8D,0xFE,0xAE,0x4B,0x5D,0xA2,0x6A,0xE9,0xFF,
    0x0C,0x0C}, /* cText */
   {0x60,0xC3,0x07,0x1F,0xE1,0xCF,0xDC,0x41}  ,/* mac */


/* ---------- KAT vector # 57 ------------- */
{ 152,  17,  19,  96, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x12,0xD9,0x1F,0xB4,0xCE,0xFD,0x91,0x89,0xD6,0x29,0x16,0x10,0xF6,0x59,0x81,0x45,
    0x00,0x83,0xD4}, /* key */
   {0xF1,0x02,0xB0,0x32,0x05,0x36,0xA8,0x2D,0x7C,0x68,0xA8,0x0D,0xC6,0x8A,0x11,0x31}, /* nonce */
   {0x17,0x79,0x6B,0x3C,0x3B,0xB7,0xCD,0x70,0xA5,0x76,0x6A,0x7E,0xB0,0x82,0x16,0x85,
    0x6E,0xD3,0xFB}, /* aad */
   {0x7E,0xF1,0xAD,0xDD,0x87,0x24,0xC1,0xC9,0xE7,0x6E,0x05,0x4B,0x73,0x15,0x7C,0x77,
    0x63}, /* pText */
   {0xA7,0x6A,0x71,0xA4,0x55,0x5F,0x91,0x59,0xBD,0xA0,0x7A,0xE4,0xF6,0xBD,0x39,0x38,
    0x8C}, /* cText */
   {0x07,0xF1,0x21,0x1E,0x6A,0x17,0x90,0xBF,0x05,0xF9,0xA4,0x55}  ,/* mac */


/* ---------- KAT vector # 58 ------------- */
{ 160,  16,  20,  32, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x95,0xC4,0x0E,0xE9,0xB8,0x42,0xFA,0x55,0x26,0x5B,0x40,0x1E,0x18,0x87,0x06,0x10,
    0x19,0x60,0x6D,0xFB}, /* key */
   {0x2A,0x26,0x55,0x19,0x23,0x68,0x9F,0xF7,0x0E,0x05,0xE8,0x4F,0x63,0x23,0x53,0xB1}, /* nonce */
   {0xE8,0xC7,0x58,0x7D,0x6B,0x99,0x58,0xB3,0x50,0x65,0xAD,0x26,0x09,0x5B,0xBA,0x00,
    0xC5,0x1D,0x12,0xC6}, /* aad */
   {0xC7,0xCF,0x64,0xB0,0xAB,0x66,0xAB,0x9E,0x9C,0x10,0x5E,0x1B,0xC2,0xB3,0x9B,0x63}, /* pText */
   {0x71,0x84,0x6D,0xC8,0xE2,0xCA,0x45,0x4F,0xAD,0x1B,0xEF,0x41,0x27,0x2C,0xD1,0xFD}, /* cText */
   {0x12,0xF7,0xB6,0x57}  ,/* mac */


/* ---------- KAT vector # 59 ------------- */
{ 168,  15,  21,  32, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x44,0x47,0xD4,0x27,0x86,0x9E,0x97,0xC1,0x42,0xFA,0xBE,0x04,0x35,0x34,0x99,0xE6,
    0x05,0xE3,0x84,0xA8,0x3F}, /* key */
   {0xB7,0xD7,0x11,0xCF,0xBC,0x66,0x01,0xDC,0xFB,0x8F,0x94,0xE8,0xCF,0x4A,0xD6,0xBD}, /* nonce */
   {0x80,0xEE,0xF6,0xE2,0x56,0x4A,0xC8,0x4F,0xBA,0x68,0x08,0x06,0x9B,0xBD,0x5D,0x21,
    0x38,0x0E,0x88,0x88,0x7B}, /* aad */
   {0x9C,0x97,0x18,0x2E,0xE5,0xA8,0xA0,0xBA,0x4E,0x4D,0x77,0xFA,0x46,0xBE,0x60}, /* pText */
   {0xD3,0xC8,0x4B,0x89,0xBB,0x64,0xE7,0x99,0xAD,0xF0,0xBC,0xA1,0x58,0xBE,0x7D}, /* cText */
   {0x8B,0xB1,0x30,0x63}  ,/* mac */


/* ---------- KAT vector # 60 ------------- */
{ 176,  14,  22,  96, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0xC9,0x99,0x56,0x1E,0x51,0xF4,0xCC,0x4B,0xE8,0xA9,0xB7,0x78,0xA0,0x32,0x56,0x19,
    0xC2,0xDE,0x83,0x65,0xCF,0xA5}, /* key */
   {0xB4,0x8A,0x2C,0x68,0x9F,0xBE,0x72,0xE5,0xB0,0x57,0x07,0x40,0x19,0xDE,0x4F,0x1F}, /* nonce */
   {0x0D,0xCB,0xA2,0x9E,0xF9,0x0E,0x18,0xFE,0x83,0xA3,0xF8,0xB1,0x00,0x4C,0x84,0xA8,
    0x92,0xBE,0xD3,0xB8,0x31,0x42}, /* aad */
   {0x7A,0x17,0x59,0x60,0xAB,0xE0,0x16,0xA0,0x4A,0xD2,0xC8,0x90,0xAD,0xE4}, /* pText */
   {0xCD,0x82,0x51,0x85,0xB0,0xCF,0x24,0xDA,0x25,0x9E,0x73,0xE2,0xE5,0x2A}, /* cText */
   {0x0D,0xFD,0xD1,0x0D,0xCD,0x9A,0x4A,0x53,0x95,0xF3,0xD6,0x87}  ,/* mac */


/* ---------- KAT vector # 61 ------------- */
{ 184,  13,  23, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x18,0xBD,0x92,0xE6,0x10,0x21,0x11,0xDD,0x18,0xC3,0xB0,0xFB,0x55,0x6D,0x9D,0x8C,
    0x34,0x79,0x40,0x5D,0xFF,0xED,0xC7}, /* key */
   {0xD9,0xE9,0x05,0x2E,0xF6,0x15,0x3D,0xBF,0x99,0x89,0x99,0x18,0xE9,0xF1,0x50,0xD0}, /* nonce */
   {0x83,0x9B,0x89,0x44,0x3F,0x2D,0x71,0x53,0xDA,0xA3,0xF6,0xD7,0x13,0xCC,0x94,0x2E,
    0x4D,0xC4,0x8C,0x6F,0xF4,0x27,0x51}, /* aad */
   {0x75,0x61,0x3E,0x94,0x50,0xD4,0xBD,0x15,0xDF,0x76,0xC7,0xEA,0x1C}, /* pText */
   {0xA9,0x03,0x15,0x1E,0x57,0x88,0x64,0xD7,0xAE,0xFD,0x7A,0x92,0xE2}, /* cText */
   {0x0D,0x92,0xF2,0x94,0xF6,0xAC,0xB1,0x02,0x5A,0x15,0xB4,0x24,0xD6,0xEA,0x27,0x64}  ,/* mac */


/* ---------- KAT vector # 62 ------------- */
{ 192,  12,  24,  96, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0xC0,0xB8,0x83,0x10,0x32,0x7E,0x94,0xAC,0xF2,0x26,0x8A,0x66,0x26,0x98,0xCF,0x7D,
    0xC8,0x54,0x8B,0xAB,0x87,0xCF,0x5A,0x1C}, /* key */
   {0x00,0x68,0xD0,0xD5,0x92,0xF3,0x84,0x20,0xD4,0xC6,0x49,0xC6,0x50,0x74,0x2C,0x83}, /* nonce */
   {0x41,0x07,0xF4,0x8E,0x4D,0x82,0xF5,0x02,0x83,0xBE,0x69,0x92,0xC6,0xB2,0xE3,0x46,
    0xD8,0xAA,0x6F,0x0B,0x41,0xBB,0x1C,0xDF}, /* aad */
   {0x85,0x50,0x05,0x7C,0xE9,0xFE,0x14,0x6A,0x8A,0xC3,0x39,0x7E}, /* pText */
   {0xBD,0x06,0xFB,0x85,0x1E,0x7C,0x31,0xCF,0x98,0xB4,0xCF,0x91}, /* cText */
   {0x1C,0xA1,0xBD,0x3D,0xD8,0xD9,0xD2,0x4B,0x61,0x70,0x1A,0x2F}  ,/* mac */


/* ---------- KAT vector # 63 ------------- */
{ 200,  11,  25,  32, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x93,0x18,0x85,0xB0,0x10,0x89,0x71,0x56,0x18,0x21,0xA9,0x5C,0x2B,0x30,0x44,0xF6,
    0x35,0xC9,0xFE,0x16,0x85,0xCE,0xA0,0x81,0x43}, /* key */
   {0x30,0xD4,0xE3,0x22,0x09,0xF6,0xAA,0x9B,0x7A,0x61,0xF0,0xD3,0xD9,0x7C,0xD0,0x1F}, /* nonce */
   {0x13,0x1B,0xAB,0xCA,0x87,0x99,0xC5,0x30,0xFE,0x0F,0x37,0x73,0x84,0x1D,0xEF,0xDF,
    0xC6,0x40,0x58,0xC1,0xD3,0x42,0x25,0x95,0x69}, /* aad */
   {0x28,0x68,0xCA,0x09,0x22,0x7F,0x24,0x2D,0xD4,0x60,0xEC}, /* pText */
   {0xFF,0xB3,0xCA,0x82,0xB0,0x7E,0xFF,0xA6,0x80,0xD7,0x0D}, /* cText */
   {0x8B,0xAA,0x6C,0x11}  ,/* mac */


/* ---------- KAT vector # 64 ------------- */
{ 208,  10,  26,  64, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0xC1,0x5B,0x39,0xFF,0xCA,0x15,0xBD,0xD0,0x46,0x40,0xF2,0x68,0xD6,0x46,0x50,0x95,
    0x4B,0x59,0x20,0x06,0x35,0x0F,0x1A,0x9E,0x12,0x7D}, /* key */
   {0x7D,0xCF,0x7E,0x31,0xA2,0x43,0xF9,0x77,0x51,0x65,0x8D,0x09,0xF5,0x22,0x1D,0xC4}, /* nonce */
   {0x9D,0x71,0x42,0xFA,0xF2,0x56,0xDF,0x73,0x97,0xD8,0xE6,0xDD,0xD7,0x43,0x08,0x95,
    0x7D,0xB9,0x5F,0x66,0x28,0x4D,0x67,0xCC,0xBD,0xE1}, /* aad */
   {0x65,0xE2,0x1B,0xAE,0x47,0x90,0x1B,0xBC,0x61,0x50}, /* pText */
   {0xF4,0x52,0x6B,0x36,0x77,0x78,0x02,0x95,0x92,0x32}, /* cText */
   {0xB0,0xCC,0x2E,0x10,0x64,0x80,0x58,0xB2}  ,/* mac */


/* ---------- KAT vector # 65 ------------- */
{ 216,   9,  27,  96, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x5F,0xD1,0xA4,0x4A,0x0C,0xE7,0xE3,0xDD,0x0C,0x6D,0xAD,0x73,0x5E,0x5F,0x3A,0x9A,
    0x24,0x28,0x99,0x01,0x40,0x83,0x51,0x93,0x9E,0xDB,0x88}, /* key */
   {0xB3,0x59,0xE9,0xDF,0xD1,0x63,0xFD,0xD2,0x31,0xD0,0x15,0x91,0x86,0xE4,0x70,0x08}, /* nonce */
   {0xB0,0x1F,0x95,0x16,0xEA,0x5A,0xE1,0x41,0x0F,0xEA,0x47,0x7C,0x18,0xD1,0x21,0x86,
    0xBF,0x74,0xF2,0xD8,0x6F,0x8F,0xD3,0xB2,0xC3,0x37,0x46}, /* aad */
   {0x6E,0x5B,0xBF,0x1F,0xDE,0x4C,0xD6,0x6B,0x8A}, /* pText */
   {0xAA,0x9A,0x0B,0x29,0x7F,0x92,0x03,0x18,0xBC}, /* cText */
   {0xED,0xBF,0x4E,0xDE,0xEA,0xA8,0x86,0x7A,0xBC,0xFB,0x93,0x6A}  ,/* mac */


/* ---------- KAT vector # 66 ------------- */
{ 224,   8,  28,  32, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x71,0xCD,0x3A,0x95,0x88,0x5D,0xBB,0x62,0xB2,0x55,0x26,0xD7,0x2C,0x7C,0x2B,0x46,
    0xB0,0x80,0x2B,0xE9,0xBE,0x07,0xCC,0x0E,0x20,0x00,0x3F,0x14}, /* key */
   {0xA8,0x28,0x8B,0x27,0xD8,0x9D,0x61,0x92,0xC9,0xFD,0xDC,0x9F,0x02,0x15,0x82,0xE7}, /* nonce */
   {0xF2,0x5D,0x99,0x30,0xCD,0xAD,0x51,0x0F,0x79,0x29,0xEB,0x26,0x5E,0xD7,0x7C,0x4C,
    0xAA,0x15,0xF6,0x47,0xA1,0xB0,0x91,0x22,0x14,0xA3,0xE2,0x3B}, /* aad */
   {0x5A,0x93,0x0B,0xCD,0x18,0x22,0x39,0xDE}, /* pText */
   {0x1B,0x02,0xCB,0xC8,0xCD,0xDC,0x97,0xDD}, /* cText */
   {0xC1,0x31,0x88,0x18}  ,/* mac */


/* ---------- KAT vector # 67 ------------- */
{ 232,   7,  29,  96, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x98,0x98,0xC5,0x15,0xEC,0xA8,0x27,0x0E,0x9E,0x1B,0xE3,0x6B,0xC9,0xF2,0x17,0xE9,
    0x84,0xDE,0xBC,0x65,0x6A,0xDA,0x09,0x62,0xA1,0x92,0x4B,0xE6,0x08}, /* key */
   {0xFE,0xEF,0x99,0xE4,0xC1,0x7C,0x76,0xFF,0x57,0xE8,0x73,0xE8,0xA6,0xC4,0xE2,0x8F}, /* nonce */
   {0x3B,0x4A,0x0B,0x22,0x5F,0x94,0x09,0x81,0x00,0xA3,0x18,0x49,0x07,0x3E,0x90,0xD4,
    0x7B,0x43,0xA5,0xD7,0x8B,0xC5,0x92,0x4A,0x01,0xC2,0x25,0x60,0xD6}, /* aad */
   {0x8B,0x23,0xB0,0xA8,0x96,0xE8,0xFF}, /* pText */
   {0x16,0x00,0x49,0x37,0x07,0xC8,0x49}, /* cText */
   {0x0E,0x7E,0x23,0x44,0x1A,0x48,0x35,0xC0,0x70,0x31,0x32,0xE5}  ,/* mac */


/* ---------- KAT vector # 68 ------------- */
{ 240,   6,  30,  32, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0xD5,0x3C,0x4A,0xE3,0x4E,0xCE,0x19,0x03,0xC8,0x3A,0x95,0x20,0x10,0x7D,0x4D,0xFF,
    0x7D,0xD2,0x08,0x6B,0x1F,0xBB,0xD1,0xA7,0x99,0x59,0x42,0x2D,0x42,0x05}, /* key */
   {0x83,0x8E,0x0D,0x78,0x05,0xC9,0x4A,0xB6,0xA8,0xD5,0x33,0xFA,0x7A,0x27,0x75,0xD9}, /* nonce */
   {0x5D,0x8A,0x89,0x3C,0xE5,0x09,0xA1,0xDA,0x1F,0x70,0x5C,0xE6,0x21,0xD2,0x84,0xBE,
    0x2B,0x89,0xED,0xE2,0xF3,0xF9,0xD9,0xEB,0x62,0x47,0x40,0xF2,0xDC,0x77}, /* aad */
   {0x35,0x8C,0x4B,0x15,0x2E,0x49}, /* pText */
   {0x80,0xB1,0x73,0x87,0xE8,0x3E}, /* cText */
   {0x14,0xF8,0xAF,0x36}  ,/* mac */


/* ---------- KAT vector # 69 ------------- */
{ 248,   5,  31,  32, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0xC3,0x64,0x32,0x5E,0xF5,0x63,0x13,0xAD,0x60,0x87,0x93,0xDD,0x40,0x17,0x82,0x3C,
    0xCC,0x33,0x80,0x90,0x33,0x19,0x60,0xAA,0x00,0x54,0x94,0x50,0xE8,0xE2,0xB6}, /* key */
   {0x8A,0xDE,0x0F,0xB3,0xF7,0x83,0x83,0xF6,0x5A,0x27,0xB3,0xA8,0xB5,0xCE,0x8C,0xDB}, /* nonce */
   {0x99,0x4E,0xB8,0x25,0xDB,0x94,0xD7,0xE2,0xFC,0x01,0xEF,0x47,0x5D,0x4B,0x01,0xE6,
    0xEF,0x5F,0x4A,0x14,0x5E,0xA1,0x2B,0x99,0xAE,0xAB,0xEE,0xCE,0x77,0x96,0xF6}, /* aad */
   {0x80,0x79,0x7A,0x66,0xB5}, /* pText */
   {0x68,0x80,0x02,0xA2,0xEF}, /* cText */
   {0x79,0x50,0x7F,0xB1}  ,/* mac */


/* ---------- KAT vector # 70 ------------- */
{ 256,   4,  32,  64, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0xB8,0xAE,0x5B,0x54,0xBF,0x16,0xF8,0x2E,0x81,0xFA,0xD0,0x19,0x1E,0x1E,0x9A,0x57,
    0x36,0xB8,0x3C,0x89,0x86,0x59,0xC8,0x6E,0x8C,0x1E,0x11,0x8D,0x0E,0x97,0x0C,0xE1}, /* key */
   {0x20,0x3D,0xB3,0x5E,0x84,0xE5,0x17,0xF2,0x7B,0x28,0x39,0x49,0x31,0x87,0x99,0x41}, /* nonce */
   {0xBD,0xA3,0x81,0x5A,0xE2,0x2A,0x8E,0x93,0x6C,0x59,0xBF,0xD2,0x06,0xC8,0x40,0x37,
    0x48,0x15,0xC5,0xEC,0xA0,0x76,0x9B,0xCA,0x66,0xAF,0x34,0x8D,0x8F,0x41,0x52,0x55}, /* aad */
   {0x6F,0x8E,0xF9,0xC3}, /* pText */
   {0x80,0xDF,0x0F,0xB4}, /* cText */
   {0x71,0xF8,0x2D,0xFE,0x1E,0x96,0x51,0x0C}  ,/* mac */


/* ---------- KAT vector # 71 ------------- */
{   0,   3,  33,  64, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x10,0x27,0x19,0xAF,0x0F,0x05,0x27,0x08,0x36,0x04,0xFF,0xBE,0xCE,0xEE,0xF5,0xAE}, /* nonce */
   {0x03,0x86,0x41,0xBC,0xAD,0xBB,0xAF,0xBB,0x24,0x45,0x03,0x80,0x4F,0x52,0xF1,0x2C,
    0x8C,0x6E,0x17,0xC9,0xD0,0xF1,0xDB,0xEB,0x08,0x3A,0x7E,0x6C,0x89,0xE8,0xDE,0x7A,
    0x4A}, /* aad */
   {0xA1,0x3E,0xED}, /* pText */
   {0x51,0x87,0x41}, /* cText */
   {0xA9,0x10,0x08,0x5A,0xA1,0x34,0xAB,0x69}  ,/* mac */


/* ---------- KAT vector # 72 ------------- */
{   8,   2,  34, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0xCF}, /* key */
   {0x38,0x03,0x01,0xE1,0xEB,0x63,0xAD,0xAE,0x5A,0xF7,0x44,0xF1,0xAD,0xE2,0xFB,0x11}, /* nonce */
   {0x89,0x7C,0x27,0x2A,0xF1,0xBE,0x55,0xEB,0xE6,0xF1,0x18,0x47,0xA8,0x98,0x6F,0x2B,
    0x1D,0xBD,0x51,0x5F,0x65,0x08,0x3B,0xEF,0x13,0x59,0xE6,0x96,0x17,0x5D,0xE6,0xB8,
    0x3C,0xC5}, /* aad */
   {0x3C,0x22}, /* pText */
   {0xAC,0x3A}, /* cText */
   {0x3E,0xF6,0x07,0xF6,0x0A,0x96,0xEC,0x25,0x2A,0x7A,0xAE,0x80,0x81,0x54,0x7A,0xAC}  ,/* mac */


/* ---------- KAT vector # 73 ------------- */
{  16,   1,  35,  96, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x07,0x0A}, /* key */
   {0x5F,0x0D,0x1B,0x81,0xED,0x06,0x89,0xB3,0x5B,0x42,0x63,0x8D,0xF7,0x9E,0x52,0xFB}, /* nonce */
   {0x78,0x1D,0x55,0x5C,0x29,0x97,0x90,0xB7,0xE2,0x63,0xCE,0x05,0xDF,0x8D,0x07,0xA0,
    0xAB,0x58,0x40,0xE8,0x14,0x9C,0xB8,0x06,0xE7,0x97,0xBA,0x14,0xF4,0x18,0x25,0xEA,
    0xE4,0xBB,0x00}, /* aad */
   {0x28}, /* pText */
   {0x0D}, /* cText */
   {0xF9,0x5F,0x3D,0xAE,0xA2,0x42,0xB2,0x56,0xA2,0x79,0xBA,0xE8}  ,/* mac */


/* ---------- KAT vector # 74 ------------- */
{  24,   0,  36,  32, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x3E,0x8D,0xA8}, /* key */
   {0xDF,0xCD,0x3E,0x84,0x4B,0x5B,0x0B,0x0B,0xB1,0x51,0x60,0x7F,0x74,0x13,0xE0,0xA6}, /* nonce */
   {0x64,0xF0,0x57,0x41,0x6B,0x05,0x77,0x30,0x39,0x1C,0xEB,0xA4,0xEA,0x11,0x7B,0x9E,
    0x88,0x5A,0x76,0xFC,0x5E,0xA1,0x3E,0x92,0x3A,0xE3,0x04,0x38,0x8B,0x5C,0x0C,0x86,
    0xB0,0x16,0x35,0x52}, /* aad */
   {0x00}, /* pText */
   {0x00}, /* cText */
   {0xA6,0x59,0xC0,0x1B}  ,/* mac */
};
	final int[][] kats=new int[kat1.length+kat2.length][];
	System.arraycopy(kat1, 0, kats, 0, kat1.length);
	System.arraycopy(kat2, 0, kats, kat1.length, kat2.length);
	return kats;
}
private static int[][] getKat2() {
	return new int[][]{


/* ---------- KAT vector # 75 ------------- */
{   0,  36,   7,  16, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x85,0x56,0xAB,0xAA,0xA2,0x2C,0x6E,0xE9,0xD1,0xD0,0x13,0x4D,0x78,0x1C,0x1C,0x62}, /* nonce */
   {0x4C,0x08,0xFD,0x3F,0x9D,0x3C,0x16}, /* aad */
   {0x7C,0xFC,0xD9,0xE6,0x02,0x29,0x01,0x5E,0x04,0x00,0x9F,0x9A,0x92,0xA4,0x13,0x02,
    0x5C,0x9A,0x14,0x2B,0x73,0x84,0x66,0x5C,0x22,0x5F,0xDF,0x42,0xDB,0xA8,0x8B,0xC2,
    0x10,0x09,0x1C,0x7B}, /* pText */
   {0x1E,0x93,0x4A,0x4C,0x52,0xE8,0x02,0xB7,0xAF,0xB6,0x42,0xED,0x9E,0x85,0x38,0x22,
    0xE8,0x03,0x92,0x56,0xCA,0x78,0xBB,0x24,0x26,0x12,0xF2,0x64,0x6E,0x0E,0x1E,0xFA,
    0x43,0xD8,0x91,0x62}, /* cText */
   {0xA8,0x83}  ,/* mac */


/* ---------- KAT vector # 76 ------------- */
{   0,  35,   0,  72, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x02,0x07,0x6A,0x51,0x36,0x60,0xE4,0xD9,0x88,0x89,0xB2,0x6A,0xF3,0x4C,0x8E,0x60}, /* nonce */
   {0x00}, /* aad */
   {0xD7,0x7C,0x70,0x85,0xFD,0x04,0xCB,0x28,0xF0,0x94,0x47,0xD9,0xB9,0x0A,0xF6,0xCD,
    0x87,0x61,0xE3,0x65,0x4C,0x59,0x07,0x4D,0x11,0x46,0xC4,0xAF,0xDE,0x0D,0x5E,0x5D,
    0x3E,0x17,0x80}, /* pText */
   {0xC5,0x97,0x9B,0x71,0x6C,0xE4,0x4B,0x26,0x92,0xDE,0xD1,0x0C,0x54,0x1A,0xBD,0xB7,
    0xA8,0xE5,0x95,0x8D,0x59,0x21,0xDD,0x9B,0x76,0x88,0x6C,0xE1,0xBD,0x69,0x23,0x2F,
    0x1D,0x0B,0x99}, /* cText */
   {0x53,0x1C,0x54,0x6D,0x89,0x87,0x42,0xA7,0xDD}  ,/* mac */


/* ---------- KAT vector # 77 ------------- */
{   0,  34,   4,  96, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x74,0x83,0x5A,0xFD,0x8C,0xE4,0xCE,0x2A,0xDF,0xA3,0x71,0x3E,0x4C,0x6E,0xA9,0x66}, /* nonce */
   {0x6D,0xA8,0x3A,0xA4}, /* aad */
   {0xE7,0x82,0xE2,0x9D,0x6C,0x6F,0xCF,0x28,0xDA,0xFF,0x58,0xCE,0x01,0x68,0xB9,0x1B,
    0x2C,0x08,0xEC,0x3C,0x26,0x12,0x70,0x6D,0x8C,0x5C,0xCE,0x62,0xDB,0xBF,0x4F,0xF2,
    0x7B,0x75}, /* pText */
   {0x02,0x8A,0x0B,0x33,0x33,0x77,0x2B,0x30,0x9D,0x40,0xBB,0xD7,0xBC,0x99,0xF4,0xB8,
    0xCF,0xAD,0xF1,0x64,0x52,0xB6,0xCA,0xF9,0x48,0x64,0xC1,0x35,0x88,0xD0,0xF1,0x90,
    0xE6,0x79}, /* cText */
   {0x87,0xEF,0x18,0x48,0x97,0xA0,0xA8,0xA3,0x87,0x21,0xDF,0x36}  ,/* mac */


/* ---------- KAT vector # 78 ------------- */
{   0,  33,  23,  40, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x6F,0x9E,0xF7,0xD5,0x29,0xBE,0xB4,0xB9,0xB6,0xAB,0x0B,0x29,0x8C,0x20,0xF3,0xF8}, /* nonce */
   {0x36,0x0A,0x6D,0x34,0x11,0x5A,0xB9,0x79,0x49,0x83,0xAF,0x81,0xE1,0x6A,0x1C,0x45,
    0xB2,0x31,0x64,0xC0,0xD1,0x20,0xFE}, /* aad */
   {0x68,0x21,0x5C,0xFC,0x63,0xE8,0xB3,0x6F,0xE8,0x44,0x82,0xF2,0x5E,0x0D,0x1C,0x60,
    0x02,0x5A,0xFC,0x11,0x1C,0x20,0xF2,0xA6,0x90,0xDA,0x79,0xF6,0x86,0x49,0x90,0xAC,
    0x9A}, /* pText */
   {0x1C,0x62,0xF8,0x87,0xC7,0x33,0x09,0xF9,0x3A,0xB4,0xC2,0x86,0x2E,0xDA,0x0A,0x30,
    0x76,0x71,0x19,0x44,0x5C,0xD0,0x93,0x83,0x31,0x19,0xD0,0x27,0x72,0x0B,0x66,0x2F,
    0x95}, /* cText */
   {0x32,0x02,0x30,0x58,0x4A}  ,/* mac */


/* ---------- KAT vector # 79 ------------- */
{   0,  32,  18,  80, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x05,0xA6,0x9D,0x6C,0xBA,0x70,0x2C,0x59,0x85,0x5C,0x88,0xB6,0x59,0x8D,0x83,0x59}, /* nonce */
   {0x64,0x94,0x1B,0xA7,0x29,0x70,0x5E,0xC1,0xE6,0xEF,0x16,0xC9,0x06,0xF5,0x9F,0xA8,
    0x27,0xB3}, /* aad */
   {0x8A,0x95,0x9E,0x9C,0x37,0x1C,0x9C,0x29,0x29,0x77,0x34,0xDB,0xC6,0x50,0x4F,0xB7,
    0x54,0x34,0xB9,0xD8,0x2F,0x82,0x5C,0xFF,0xBA,0x82,0x6A,0x5B,0x0E,0xAE,0x9F,0xEE}, /* pText */
   {0xF2,0xDD,0xF3,0x31,0x14,0x44,0xF7,0x6E,0xFF,0x8D,0xD6,0x03,0xAE,0x03,0x62,0xC6,
    0x31,0x81,0x96,0x26,0xFE,0xEC,0xB2,0x67,0x30,0xC5,0xE1,0x71,0xFA,0x05,0x7F,0x1B}, /* cText */
   {0x11,0x78,0x5E,0x28,0x0E,0xB1,0x68,0xB0,0x34,0xF2}  ,/* mac */


/* ---------- KAT vector # 80 ------------- */
{   0,  31,  11,  32, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x4A,0xAC,0x2B,0x6D,0xCC,0xF8,0x0B,0xE5,0x37,0xE8,0x76,0xEB,0x08,0xA3,0xD9,0x37}, /* nonce */
   {0x17,0xA2,0x98,0xB6,0x86,0xB7,0xE9,0x81,0xF4,0x84,0x0C}, /* aad */
   {0x96,0x7E,0x12,0x18,0x35,0x4E,0x27,0xF0,0x3F,0x25,0x9F,0x77,0xF9,0xAC,0xFB,0x0F,
    0x35,0x76,0x15,0x4F,0x3F,0xAC,0xB9,0xF7,0x78,0x80,0x57,0xB6,0xE7,0x0D,0x51}, /* pText */
   {0xC3,0x84,0x8A,0x2C,0xF9,0x90,0xB5,0xE1,0x54,0x0C,0xC8,0x89,0x16,0x5F,0xD6,0x67,
    0x3F,0x6C,0x0E,0x77,0x8D,0x7A,0x89,0x53,0xD4,0x85,0xF1,0x06,0xF7,0x86,0x61}, /* cText */
   {0xE4,0xFD,0x08,0x9F}  ,/* mac */


/* ---------- KAT vector # 81 ------------- */
{   0,  30,   5,  72, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x8C,0xE0,0xCA,0x23,0x92,0xE5,0x23,0x0C,0xDD,0x6E,0x50,0x6F,0x1E,0x35,0x3D,0x7A}, /* nonce */
   {0x01,0x1B,0xF7,0xC5,0x22}, /* aad */
   {0x95,0xED,0x44,0xCB,0xAC,0x78,0x18,0x88,0x2C,0x14,0xF3,0x85,0x23,0x1E,0x38,0x1A,
    0xC0,0xCA,0xC5,0x14,0xE9,0x62,0x2E,0x1F,0x1A,0xCC,0x2B,0x6F,0xB0,0xFE}, /* pText */
   {0xA1,0x06,0xE6,0xD9,0x04,0x15,0x63,0xA2,0x97,0x4A,0xBE,0xB6,0x3A,0xDC,0xE0,0x90,
    0x26,0xC1,0x35,0x5A,0x09,0x52,0x57,0x2F,0xD1,0x7A,0x6F,0x62,0xC5,0xF7}, /* cText */
   {0xDC,0x68,0x0A,0x77,0x4F,0xE0,0x8A,0x08,0xE1}  ,/* mac */


/* ---------- KAT vector # 82 ------------- */
{   0,  29,   2,  16, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0xAE,0xEC,0x52,0x02,0x9E,0x01,0x52,0x3B,0x46,0xBD,0xEF,0xBF,0x78,0x79,0xFE,0x36}, /* nonce */
   {0x1F,0x9B}, /* aad */
   {0x2E,0xCC,0xA5,0x0F,0xFD,0x63,0x5D,0xA0,0x9C,0x7F,0x03,0x02,0x45,0x6E,0x27,0x5E,
    0xD4,0x57,0x66,0xC7,0x04,0x4C,0xB9,0xF5,0x0E,0xF2,0x00,0x30,0x35}, /* pText */
   {0x81,0xBC,0x26,0x78,0x5C,0x8B,0xFA,0x76,0x42,0x76,0x6D,0xB2,0x9C,0x2B,0x91,0x6C,
    0x69,0x3F,0x75,0x12,0xD1,0xA1,0x36,0x14,0x88,0xF6,0x36,0xBC,0xB5}, /* cText */
   {0x17,0xB6}  ,/* mac */


/* ---------- KAT vector # 83 ------------- */
{   0,  28,  18,  72, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x2A,0x93,0x48,0x84,0x68,0x0C,0xF0,0xD5,0x33,0x70,0x73,0x8F,0xC8,0xD5,0xD5,0xB8}, /* nonce */
   {0xD4,0xC8,0x07,0x01,0xF1,0x4A,0xC5,0x1D,0xA2,0x35,0x0B,0x33,0x8D,0xF8,0x7D,0x3F,
    0xC8,0x5C}, /* aad */
   {0xD9,0xF4,0x46,0xE1,0x98,0x5E,0xFD,0x0F,0xC3,0x75,0x14,0x51,0xAF,0x0C,0x26,0x88,
    0x63,0x51,0x43,0x1B,0xBA,0xA3,0x67,0x10,0x67,0x42,0xBA,0xD9}, /* pText */
   {0x81,0x7B,0x0E,0xE4,0x30,0x24,0x69,0x8E,0xEB,0xE3,0xF7,0x2F,0x83,0x59,0xF0,0x5F,
    0xB0,0x75,0x55,0x0B,0x8E,0x87,0x93,0x94,0xF2,0xBC,0x33,0x0A}, /* cText */
   {0x83,0x9F,0x21,0x25,0x5C,0x58,0xEC,0x81,0xEC}  ,/* mac */


/* ---------- KAT vector # 84 ------------- */
{   0,  27,  12,  64, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x89,0x92,0x1A,0x4B,0x5C,0xD5,0x17,0x9B,0x03,0x6C,0x25,0x0F,0xCB,0x39,0xFA,0xAC}, /* nonce */
   {0x6D,0x64,0xC4,0xBA,0x0E,0x74,0x95,0x48,0xF1,0x8A,0xC6,0xCA}, /* aad */
   {0x46,0x0E,0x32,0x83,0x57,0x04,0x06,0x93,0xB2,0xF9,0x41,0x31,0xC2,0x01,0x97,0x35,
    0xA5,0x54,0xA3,0x75,0x0B,0xA8,0x4D,0x33,0x2A,0xCB,0x14}, /* pText */
   {0x43,0x49,0xB5,0x16,0xCD,0x9A,0xA0,0xDA,0x59,0x97,0xAF,0x12,0x27,0x79,0x61,0xDE,
    0xD2,0x98,0x3B,0xD5,0xD7,0x50,0xFC,0xEB,0x1D,0x89,0x81}, /* cText */
   {0x5E,0x02,0x83,0x87,0x9C,0x51,0x03,0xA8}  ,/* mac */


/* ---------- KAT vector # 85 ------------- */
{   0,  26,  36,  24, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x4A,0x2D,0x0E,0x44,0x02,0x42,0x84,0x26,0x07,0x55,0x54,0x11,0x59,0x29,0x2D,0x3C}, /* nonce */
   {0xB3,0x8D,0xF9,0x96,0x8A,0xD3,0x3D,0x17,0xE6,0xA2,0x55,0xB1,0x41,0xCB,0xD1,0xAC,
    0x4B,0x1B,0xED,0xCB,0xA9,0x67,0x76,0x9C,0xF6,0x88,0x75,0xBC,0x9E,0xFD,0x5E,0x62,
    0x39,0xF8,0x1C,0x76}, /* aad */
   {0x3E,0xEC,0xB8,0xE2,0x14,0x86,0x96,0x1A,0xDD,0x75,0x73,0xB3,0x65,0x3D,0x1A,0x2C,
    0x23,0x40,0x5F,0x75,0xA2,0x50,0x54,0x13,0x94,0xCA}, /* pText */
   {0x86,0xDF,0x9D,0x43,0x21,0xD1,0xA6,0x64,0xE3,0xD6,0xF7,0xBA,0x21,0x16,0xE6,0xDA,
    0x23,0xE8,0x0F,0x13,0x58,0xC0,0xA0,0xD1,0x45,0x9A}, /* cText */
   {0x43,0x87,0x57}  ,/* mac */


/* ---------- KAT vector # 86 ------------- */
{   0,  25,  20, 112, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x6E,0x2F,0x6D,0xD2,0x83,0xBB,0x41,0xC8,0x0A,0xEF,0xED,0x84,0x20,0xCA,0x3D,0x8C}, /* nonce */
   {0x25,0x1B,0x55,0x5F,0xCC,0xEF,0x07,0x99,0xF5,0x1B,0xCC,0xA0,0xA5,0xE2,0xAC,0x50,
    0xE9,0xEE,0xDB,0xA7}, /* aad */
   {0x3A,0x89,0x9F,0x41,0x58,0xE3,0xF5,0x48,0xF0,0xD7,0x5B,0x0C,0x2F,0x55,0x0C,0x02,
    0x6F,0xD2,0x54,0x7C,0x44,0xCA,0x7F,0x01,0xEF}, /* pText */
   {0x7B,0x51,0x1F,0x79,0xBD,0x09,0x57,0x29,0xD8,0x90,0xC2,0x08,0x44,0x16,0x35,0x09,
    0x25,0xA9,0x76,0xE4,0x1F,0xF5,0x31,0x1A,0xE2}, /* cText */
   {0x9C,0xA8,0x8B,0x6F,0xAB,0xFD,0x39,0xD0,0xCD,0x56,0x5B,0x9B,0x6B,0xD9}  ,/* mac */


/* ---------- KAT vector # 87 ------------- */
{   0,  24,  32,  72, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0xFC,0x56,0x48,0x6F,0xE7,0x37,0x73,0xB2,0xDB,0x4F,0xF8,0x21,0xAD,0x82,0xED,0x14}, /* nonce */
   {0xD0,0xF2,0x18,0xF0,0x0C,0x68,0xB2,0x74,0x2A,0xA3,0x4F,0x45,0x05,0x53,0x21,0x54,
    0xB0,0xD0,0xF9,0x7E,0xBB,0x9F,0xDE,0x5E,0xD1,0x2F,0xC8,0x68,0xA7,0xF4,0xF4,0xFE}, /* aad */
   {0xB4,0x3C,0xDE,0x11,0x2D,0x4D,0x85,0xD7,0x73,0xDB,0x21,0x9B,0x88,0xE0,0x79,0x7E,
    0x46,0xF1,0x3C,0x27,0xE5,0x32,0xF8,0xC8}, /* pText */
   {0x5B,0xAB,0x21,0x83,0xDF,0x5D,0x34,0xFC,0x6C,0x6C,0x31,0x4D,0x79,0x44,0xBA,0x5F,
    0xFC,0xA5,0x3B,0x1F,0x22,0x07,0xBD,0xAB}, /* cText */
   {0x6E,0x14,0x88,0x8B,0x6D,0xE1,0x97,0x1D,0x24}  ,/* mac */


/* ---------- KAT vector # 88 ------------- */
{   0,  23,  17,  72, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0xC9,0x33,0x9E,0x74,0xDF,0xE7,0x06,0x7D,0xA9,0x87,0xE7,0xF6,0xC8,0xE3,0xCE,0xE7}, /* nonce */
   {0x01,0x8B,0xEA,0x89,0x4E,0x10,0x91,0x95,0x2F,0x5D,0xD4,0x2B,0x8A,0x16,0xD1,0x61,
    0x60}, /* aad */
   {0x8D,0x27,0xD2,0x25,0x27,0x6A,0x9B,0x0C,0x3E,0xD9,0xED,0xFE,0x2F,0x6D,0x0E,0x6E,
    0xCD,0x98,0xB1,0xEB,0x69,0x15,0x6E}, /* pText */
   {0x01,0x0B,0x98,0xA1,0xFB,0x86,0x72,0x67,0x17,0xA7,0xF9,0x52,0xB0,0x6C,0x0B,0x75,
    0x4F,0x1D,0xEA,0x13,0x54,0x1C,0xBC}, /* cText */
   {0xB9,0x09,0x2F,0xC4,0xED,0x38,0x9E,0xFE,0x3D}  ,/* mac */


/* ---------- KAT vector # 89 ------------- */
{   0,  22,  34,  80, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0xE9,0xEF,0xFF,0x5B,0xF3,0xF4,0x55,0x8B,0xE3,0xD2,0x6C,0xE1,0x4B,0x6A,0xCB,0x31}, /* nonce */
   {0xC8,0x48,0x9A,0xD0,0x35,0x92,0x2D,0xE9,0x10,0x55,0x53,0x93,0x2E,0x96,0x84,0x06,
    0x05,0x62,0xAE,0x25,0x58,0x1D,0xB6,0xC5,0x8D,0xD1,0x86,0xF7,0xA8,0x4A,0x30,0x09,
    0xB3,0xBD}, /* aad */
   {0xAD,0x4D,0xF3,0x38,0x04,0x72,0xC5,0x74,0xDA,0x41,0x0E,0x95,0x0E,0x52,0x13,0xB0,
    0x43,0x05,0x28,0x77,0x63,0x8B}, /* pText */
   {0xAC,0xBA,0x4A,0x17,0x95,0x65,0x47,0xB5,0xE5,0x00,0x5B,0x86,0x4B,0x3A,0xAB,0xBB,
    0x34,0x98,0x34,0xF0,0x9D,0x7C}, /* cText */
   {0xCF,0x0B,0xEC,0xB5,0xF6,0xD7,0xC3,0x96,0x68,0xF7}  ,/* mac */


/* ---------- KAT vector # 90 ------------- */
{   0,  21,  32,  32, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0xFD,0xC9,0xEA,0xD0,0xF1,0x15,0xB8,0xA2,0x33,0x95,0x07,0x87,0x30,0xAB,0x0F,0x81}, /* nonce */
   {0xF6,0x8C,0xB4,0x10,0x2F,0x7D,0x61,0xE8,0x92,0xBC,0xC2,0xE2,0x22,0xC0,0x7F,0xD9,
    0xA6,0xD6,0x00,0xA3,0xD3,0xFB,0x96,0x95,0x95,0x97,0xDB,0x0F,0x94,0x4C,0x82,0xAA}, /* aad */
   {0x82,0x4A,0x7B,0x13,0x96,0xA5,0x06,0xC1,0xD7,0x84,0xBF,0xF8,0x74,0x3D,0x37,0x7F,
    0x63,0x97,0x70,0x9F,0xDF}, /* pText */
   {0xAB,0x9F,0xF6,0x2C,0xC4,0x72,0x1E,0xBA,0xF3,0xC9,0x51,0xB1,0x5E,0x34,0x8E,0x52,
    0x20,0xDD,0x7E,0xAC,0x21}, /* cText */
   {0x40,0x68,0xA7,0x07}  ,/* mac */


/* ---------- KAT vector # 91 ------------- */
{   0,  20,   1,   8, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x4A,0x4D,0xA4,0x47,0xB5,0x73,0x3F,0x7F,0x46,0xDA,0x98,0x4C,0xDC,0xC3,0x34,0xA2}, /* nonce */
   {0xFB}, /* aad */
   {0x6F,0x26,0xE0,0x3D,0xBB,0xCE,0xA9,0xDA,0x0C,0xEA,0xFD,0x00,0xF3,0x18,0xD3,0x60,
    0x8B,0x55,0xC2,0x21}, /* pText */
   {0xCC,0x61,0x46,0x50,0x5E,0x49,0x96,0x6C,0x07,0xB9,0x3F,0x4C,0x5F,0xA7,0xD0,0x86,
    0x0E,0x1E,0xAA,0xD5}, /* cText */
   {0xAC}  ,/* mac */


/* ---------- KAT vector # 92 ------------- */
{   0,  19,  13, 104, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x18,0x52,0x7C,0x24,0x00,0xDB,0x3B,0x4F,0xC4,0xED,0x4D,0xD1,0x9F,0xDD,0x43,0x84}, /* nonce */
   {0x08,0x85,0x26,0x9B,0x21,0xA6,0x8C,0x31,0x38,0xEA,0xA5,0x8A,0x46}, /* aad */
   {0x7B,0x05,0x50,0x04,0xD3,0x63,0xB7,0xA5,0x6E,0x6A,0x8A,0x53,0xF8,0xDF,0x31,0xD9,
    0x41,0x20,0xDA}, /* pText */
   {0xA6,0x13,0x6B,0x56,0x50,0x5A,0xEB,0x18,0xA1,0x85,0x78,0xCB,0x85,0x59,0x37,0x83,
    0xC2,0x37,0x4A}, /* cText */
   {0xBD,0xD4,0xF9,0xD5,0x99,0x35,0x9C,0x29,0xC4,0xD2,0x76,0xD6,0x9B}  ,/* mac */


/* ---------- KAT vector # 93 ------------- */
{   0,  18,  30,  80, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0xE5,0xD3,0xFA,0xEE,0x1C,0x58,0xF4,0xA6,0x78,0xB8,0x10,0xE2,0x4D,0x41,0x0A,0x93}, /* nonce */
   {0x6C,0x1C,0xD2,0xC8,0x9A,0xEB,0x47,0xE1,0x3E,0x5B,0x8E,0x2A,0xD1,0x2D,0xEC,0xFA,
    0x34,0x8E,0x07,0x9A,0x71,0xE4,0xEE,0xE7,0xD1,0xBB,0x23,0x61,0xE7,0x66}, /* aad */
   {0x9C,0x62,0x76,0x89,0x02,0xBB,0x18,0xAB,0xAF,0x48,0x19,0x17,0xF1,0x56,0x1E,0xA2,
    0xA3,0xB3}, /* pText */
   {0x54,0x73,0x10,0x93,0xE5,0x3B,0x75,0xA8,0x6C,0xA4,0x4A,0x79,0x4E,0xC1,0x5A,0x84,
    0x8C,0xEB}, /* cText */
   {0x76,0xCE,0x78,0x35,0x8D,0xD4,0xCB,0x2D,0x85,0x3E}  ,/* mac */

/**************************************************************
 **** Phelix internal state (for debugging)
 **************************************************************
SetupKey:  keySize = 0 bits. MAC tag = 80 bits.
  Raw Key = 
KeyMixing:
X.8  =00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
X.7  =00000000 00000000 00000000 00000000 5488A087 80408022 452FA953 26521D20 
X.6  =06A151CA A7A563AB 85C7CF35 B8ED5ED0 5488A087 80408022 452FA953 26521D20 
X.5  =06A151CA A7A563AB 85C7CF35 B8ED5ED0 C4EDDFAE E38DE6DE 11DCDCA3 519FDEDD 
X.4  =8B50D678 D6B5CA01 BD675155 E216C6C3 C4EDDFAE E38DE6DE 11DCDCA3 519FDEDD 
X.3  =8B50D678 D6B5CA01 BD675155 E216C6C3 9D0A577E E4FE4990 D261363E 66B7FC0B 
X.2  =1CEA3BA1 08DDFB1C AF44C727 F2FB3FEB 9D0A577E E4FE4990 D261363E 66B7FC0B 
X.1  =1CEA3BA1 08DDFB1C AF44C727 F2FB3FEB 7D57DAE3 641B7CEF 387C78AF DEE3EFDC 
X.0  =326E3BA9 6C4F23BC 820F6C32 41A2FF74 7D57DAE3 641B7CEF 387C78AF DEE3EFDC 
**********
Phelix_C_Encrypt:  msgLen = 18. aadLen = 30.
SetupNonce: keySize  = 0 bits.  MAC tag = 80 bits.
  Nonce=
  E5 D3 FA EE 1C 58 F4 A6 78 B8 10 E2 4D 41 0A 93
Working key schedule:
X_i_0=326E3BA9 6C4F23BC 820F6C32 41A2FF74 7D57DAE3 641B7CEF 387C78AF DEE3EFDC 
X_i_1=6C52AEC8 0B10250B 1A8D3127 71EE3129 437367C4 C55B1BA1 9FFEB3BC AE98BE2A 

Z.-8 =AF582C91 DBA382FF 860BC497 AB7639E2 DEE3EFDC.

Z.-7a=9CCCE6B5 1DCB6EEA 45C9B98B A6762760 96836AC3.  OldZ       = 7FFDE000.     X_i_0 = 326E3BA9.
Z.-7b=5BC44288 40214C5A 3E47E8F1 B4E58E01 E4AA4D97.                          plainText= 00000000.
Z.-7c=53A11221 2E67C493 70F05DDC E3CB4383 5EB78D13.                             X_i_1 = 6C52AEC8.
Z.-7 =06A03BCE 824C0386 95A7C8CE 69C31A60 850F5590.                       

Z.-6a=C6AC5CE0 6D64581D 3DC1CB89 8A6B6DF7 06CEBD8B.  OldZ       = 7FFDE000.     X_i_0 = 6C4F23BC.
Z.-6b=D533016C 572CB35D BB131B8D 4E45C113 BA69F805.                          plainText= 00000000.
Z.-6c=F184FE46 5AAD8846 B3E530D7 F11F0C40 A3E0ADE2.                             X_i_1 = 0B10250B.
Z.-6 =F0A0DABC 692D27CA 321FFC38 3594E8B4 D42CAB9D.                       

Z.-5a=6B86E04C 674D9CF5 7E902854 4903C9AD 4FD2989F.  OldZ       = 00000000.     X_i_0 = 820F6C32.
Z.-5b=593A095D F8235144 E4BFBCE3 7ADFF6D5 4C36141D.                          plainText= 00000000.
Z.-5c=340065A8 65958511 79A2614B BF33D80E 6B3E28F9.                             X_i_1 = 1A8D3127.
Z.-5 =C9FEDC16 5D6F4075 EC79BD4C BE78A3EB A27CE08D.                       

Z.-4a=EF000310 B0840BFF 7A9AC81C AE19FE3E 7F53370E.  OldZ       = 77D53A05.     X_i_0 = 41A2FF74.
Z.-4b=EA200BCF B9E78E7E 6AF8D7CF 7B5DBC80 1DB60954.                          plainText= 00000000.
Z.-4c=FB909ECA 765F4B5E 3F001F0A 09DDAA7C B7C08B92.                             X_i_1 = 71EE3129.
Z.-4 =562805B4 FE06660C EB6C8D97 C4172B6B AE293294.                       

Z.-3a=7E623E34 BE6282B0 7911E2A7 399A7AAB 1AB00EED.  OldZ       = 850F5590.     X_i_0 = 7D57DAE3.
Z.-3b=BBAC8906 9462ED26 3449CC28 73392B07 407FED37.                          plainText= 00000000.
Z.-3c=CB681A5D 8B697753 F04A3558 416163C1 892D77FF.                             X_i_1 = 437367C4.
Z.-3 =1D44FBCD 20056012 00E0E588 529C599C EEF8F609.                       

Z.-2a=C2AAD2DF F9586C3B 61C2DE03 22307F55 82DFA2CD.  OldZ       = D42CAB9D.     X_i_0 = 641B7CEF.
Z.-2b=E9B44E12 3E77B3DC D48193D4 C413EECB 52FDBCC5.                          plainText= 00000000.
Z.-2c=9079BB5B D5C28645 5E12F293 661092A8 03EFAA82.                             X_i_1 = C55B1BA1.
Z.-2 =515BB121 69663EB1 24A0F503 EFB15171 EC7547D5.                       

Z.-1a=1A052482 6E1A1957 EF22CB5B FD63715E 1186E220.  OldZ       = A27CE08D.     X_i_0 = 387C78AF.
Z.-1b=E8F2FDAC E7DBBBFC DFB33D43 3EF5D7CE C2B99BDA.                          plainText= 00000000.
Z.-1c=D1AAF44F 555F5AAA D073F0B7 417248AC ADE15B70.                             X_i_1 = 9FFEB3BC.
Z.-1 =82130DA0 F00ED7C5 29BF1B00 091A9405 2A23ED64.                       

Z.00a=5B434B16 CB14A468 754B4525 503041A4 6AE7027F.  OldZ       = AE293294.     X_i_0 = DEE3EFDC.
Z.00b=A9674577 9D30BD0F 3457F77D B5FFB680 09ED52E7.                          plainText= 00000000.
Z.00c=CDF7EEBE 783FDA9C 1914D662 7C5E5509 3944E72F.                             X_i_1 = AE98BE2A.
Z.00 =D84E700F D9ED9A0B 02BA7CC0 A092D2F5 9CF034CE.                       

**********PHASE_AAD (28 bytes):
Z.01a=C28608F1 9DB1BC40 7F88F4B6 795DBC26 1795202D.  OldZ       = EEF8F609.     X_i_0 = 326E3BA9.
Z.01b=F3E694DF 24E36C51 1ADE7E9D 287C0B76 4CD35106.  Keystream  = 3BCC470F.  plainText= C8D21C6C.
Z.01c=2957F3A9 DAF55DC6 AAC99C95 740DA969 DAE47C06.                            X_i_1  = 6C52AEC8.
Z.01 =B90C937A 890E0000 802904AE 5D148C1A FB819379.                         cipherText= F31E5B63.

Z.02a=423F282C 3E4DE612 36752C10 C282BDF3 89FF1E60.  OldZ       = EC7547D5.     X_i_0 = 6C4F23BC.
Z.02b=9836CEEC 97C395BD 6C7EB274 A853A7EE 40AFE4AC.  Keystream  = 2D252C81.  plainText= E147EB9A.
Z.02c=9636C1C2 CDE9A761 52291A6B 0B842E40 E5B708DD.                            X_i_1  = 0B10250B.
Z.02 =29680A29 F57DE142 5975A03A 2B3FBB4C 33D011B7.                         cipherText= CC62C71B.

Z.03a=4F8AEAA9 37CBE4A5 CA9E1BA4 F4EBE766 7C3A0572.  OldZ       = 2A23ED64.     X_i_0 = 820F6C32.
Z.03b=9313971B 8F0EBA5F 81FA9AA0 092CDBB0 44A19B52.  Keystream  = 6EC588B6.  plainText= 2A8E5B3E.
Z.03c=6C2F536D C156C74E 1A126E99 BE685127 DBD5D03F.                            X_i_1  = 1A8D3127.
Z.03 =135B4DAD 18BB88D4 DDA7F9D9 0A1D2BBA 74EAC4B4.                         cipherText= 444BD388.

Z.04a=F0F2CE3A 99362236 017D81BF 187B4886 29C95647.  OldZ       = 9CF034CE.     X_i_0 = 41A2FF74.
Z.04b=9C0AAEC8 FBA38D87 8D416FF5 371E4692 86A2EE46.  Keystream  = 23932314.  plainText= FAEC2DD1.
Z.04c=FA3416D3 19EF3609 EBFDC978 A10F6042 71C9BBDA.                            X_i_1  = 71EE3129.
Z.04 =7A5E8C98 346E9B41 98EA23BA 106A65E3 E3BC1F24.                         cipherText= D97F0EC5.

Z.05a=91E4F715 AAE99460 A3822445 2ADB3250 5BEA49FF.  OldZ       = FB819379.     X_i_0 = 7D57DAE3.
Z.05b=A2639D7F 1EECFF88 AB43CD7B FBBAAA33 9465F516.  Keystream  = 8FE7888F.  plainText= 9A078E34.
Z.05c=41830C08 4BD27ACD 19FB5EC6 E64B0943 DC8BD8E7.                            X_i_1  = 437367C4.
Z.05 =D1B683D7 CD1154BA 471B7C30 90EC647A F9242070.                         cipherText= 15E006BB.

Z.06a=45D0A2C5 D5D4AB18 28C24B73 F4083D5C 07ABDCA1.  OldZ       = 33D011B7.     X_i_0 = 641B7CEF.
Z.06b=88E1DF31 FBBDCE93 D6AC8028 0F818710 3D2144F4.  Keystream  = 70F156AB.  plainText= E7EEE471.
Z.06c=A28524E2 7C4E1CE3 85754FFB FB571447 90780543.                            X_i_1  = C55B1BA1.
Z.06 =B1762370 B0CD0761 F58B625C EB0BDEB1 E704291D.                         cipherText= 971FB2DA.

Z.07a=04044339 44C1FA5F C0FAD212 7889C5FB A4D768CF.  OldZ       = 74EAC4B4.     X_i_0 = 387C78AF.
Z.07b=D93B5027 B4948700 BFA9F4AE BE39040E 98E4BB3F.  Keystream  = 0DCF7FF3.  plainText= 6123BBD1.
Z.07c=AC200D70 E508FD35 C9500FFF CF7E1D23 8731AE1E.                            X_i_1  = 9FFEB3BC.
Z.07 =D9DC35CD CA995B11 959DB391 5618DA73 B96F3D7A.                         cipherText= 6CECC422.

**********PHASE_AAD (2 bytes + padding):
Z.08a=EA20805F 22622E10 47A374D1 E9313387 AFDB824B.  OldZ       = E3BC1F24.     X_i_0 = DEE3EFDC.
Z.08b=33C2235A CD62DC6D 3B2301AD 8805F93C 19906DF6.  Keystream  = FD4C8D1A.  plainText= 000066E7.
Z.08c=8F866B77 CD298F9B 853101C9 1A6D0E61 6D17E373.                            X_i_1  = AE98BE2A.
Z.08 =7ED4683A F3674501 769536D9 E6D9B080 37DAC414.                         cipherText= FD4CEBFD.

**********PHASE_DATA:
Z.09a=5C3174CB 62B2FE46 5CC62676 49D8DFD3 3BAAE3EB.  OldZ       = F9242070.     X_i_0 = 326E3BA9.
Z.09b=FB720766 C0ED6AC8 A792C5AF 2B8E55A1 2141F158.  Keystream  = 1A6611C8.  plainText= 8976629C.
Z.09c=D47D473C BD708388 F61873F1 C8FFC9E7 EA3B7EEE.                            X_i_1  = 6C52AEC8.
Z.09 =F83E12F3 5FEB32BA E8F66E9A 498BEFDF B89A6E33.                         cipherText= 93107354.

Z.10a=9405A483 1683B462 D8915278 EF6A0428 10ADA124.  OldZ       = E704291D.     X_i_0 = 6C4F23BC.
Z.10b=367CFBC8 70AA3031 09BABBF5 42089650 1C6957CA.  Keystream  = 036D80E7.  plainText= AB18BB02.
Z.10c=1A52343F 4E1FEE34 25DE2C6F C63BA6FF AA70659E.                            X_i_1  = 0B10250B.
Z.10 =824CB19F 7C5D5723 1F04927E D5FE7569 FC4BF1DD.                         cipherText= A8753BE5.

Z.11a=964E10B0 A52401E2 6AEC8E9F 421DA3FF 03484D59.  OldZ       = B96F3D7A.     X_i_0 = 820F6C32.
Z.11b=08152630 6265DD33 A9F1E417 76F3B5BA B4E4AF49.  Keystream  = 6E53ECC3.  plainText= 171948AF.
Z.11c=00468AD4 2A31F05D 8EA587E3 CD97B705 575B90B0.                            X_i_1  = 1A8D3127.
Z.11 =2EAE8626 53076BEB E0FD59AE F0D04EAE 0511E026.                         cipherText= 794AA46C.

Z.12a=FDA9A83E 65304560 1AF5FF07 7F4E3479 4B8DB13A.  OldZ       = 37DAC414.     X_i_0 = 41A2FF74.
Z.12b=BD33D589 EFA2D175 09D35B4B 8E918178 EE69D3AB.  Keystream  = 264497BF.  plainText= A21E56F1.
Z.12c=875A25D3 32948378 ECB3C021 1EB0E268 37EDCA00.                            X_i_1  = 71EE3129.
Z.12 =67717C53 CA4BC02B 8F1ED300 0D258212 BD38F065.                         cipherText= 845AC14E.

**********PHASE_ODD_BYTES:
Z.13a=2DFCCAE9 12C2421E 5ACBF710 468DB602 C7029F45.  OldZ       = B89A6E33.     X_i_0 = 7D57DAE3.
Z.13b=A0CEE195 06EADEAE 1CAA2389 67644ADB 1B0DE9FC.  Keystream  = D3A8582F.  plainText= 0000B3A3.
Z.13c=67B61A10 E322A887 F1082933 04957B18 0CD01457.                            X_i_1  = 437367C4.
Z.13 =8E02FBEF 95E6877F 18E44264 F1181B96 224DC389.                         cipherText= D3A8EB8C.

**********PHASE_MAC_GEN:
Z.14a=8F156820 D12C5AE0 91A01147 B5FF339A 36E86457.  OldZ       = FC4BF1DD.     X_i_0 = 641B7CEF.
Z.14b=8A9950FD 21F5BF3E D5FD3E04 95440B9D 2A250F2D.  Keystream  = 2671010A.  plainText= 00000002.
Z.14c=BAB9383F 6B39AD30 C5319440 49D404C9 2474ACB6.                            X_i_1  = C55B1BA1.
Z.14 =840B5961 680C327A 58F5900F A1C202B8 EF51680E.                         cipherText= 26710108.

Z.15a=9AB8324B 766A215D 982CFA71 5601CA69 9B176EE6.  OldZ       = 0511E026.     X_i_0 = 387C78AF.
Z.15b=15314C67 EA7DDF6B 9E6D7895 42FDC255 412FB8A6.  Keystream  = 464198CC.  plainText= 00000002.
Z.15c=5E1D7CB0 B66044AE EC578C84 CA87396F 12C4D59C.                            X_i_1  = 9FFEB3BC.
Z.15 =1F134989 24899525 1E03CEA4 97465F8D BA439C2D.                         cipherText= 464198CE.

Z.16a=B3522D6C 34C54B7B CF6550B4 F10BFAF1 03CEEEEA.  OldZ       = BD38F065.     X_i_0 = DEE3EFDC.
Z.16b=7A17CBDC 5D2C89B8 84630AA9 B34EA44D 91FE582C.  Keystream  = 4F374891.  plainText= 00000002.
Z.16c=CCE0565A AB8793BC F505520A BD0C3843 02297732.                            X_i_1  = AE98BE2A.
Z.16 =0DEA744A 7724754D 893E5D13 98F1F29E B2AFB2AD.                         cipherText= 4F374893.

Z.17a=B8CDD14D 509FE8A7 77F65FC4 D09B6B82 8B479B60.  OldZ       = 224DC389.     X_i_0 = 326E3BA9.
Z.17b=666BBC47 C39E3EDE 775AC546 8FFF4EA7 C0D6C742.  Keystream  = E3248ACB.  plainText= 00000002.
Z.17c=D615D9EC D4188211 9F550263 2326C1DF 06B37D38.                            X_i_1  = 6C52AEC8.
Z.17 =953596CA 5FF94E95 183576DF 9B75AFA0 9766AB60.                         cipherText= E3248AC9.

Z.18a=568CD461 7FE7D7DD 616A513C 208FB44F E9CCFE0B.  OldZ       = EF51680E.     X_i_0 = 6C4F23BC.
Z.18b=C6ADA520 594EB4B1 778BB4C7 5E4F16E9 A47D209F.  Keystream  = 93CE88AD.  plainText= 00000002.
Z.18c=F9781649 2F5543F7 1198A6EE 76BF7A77 92C0030D.                            X_i_1  = 0B10250B.
Z.18 =9D278B78 AA07D5EC 4A061811 9B451F97 8A318298.                         cipherText= 93CE88AF.

Z.19a=D9561E70 E56210D0 663CE4D5 BBF29526 A37F1623.  OldZ       = BA439C2D.     X_i_0 = 820F6C32.
Z.19b=F28E7541 E8379A30 B2207FA9 F519AC3C AF557792.  Keystream  = 699913BF.  plainText= 00000002.
Z.19c=5042FFCF 34470A5E BDACAB10 41936B4E 7AE709C5.                            X_i_1  = 1A8D3127.
Z.19 =3400C626 001CDA75 41E1CA19 DF04DE6E 2B37A10C.                         cipherText= 699913BD.

Z.20a=0B492826 51EE04AD DD1AA5C8 44631403 6B3ADDCF.  OldZ       = B2AFB2AD.     X_i_0 = 41A2FF74.
Z.20b=B518D4F3 A6CB11D6 4D3C232D 0BED9E62 31D00C7E.  Keystream  = E47FBF2B.  plainText= 00000002.
Z.20c=0CE6A782 6C795362 A0FD1874 17AA1BA2 889DF096.                            X_i_1  = 71EE3129.
Z.20 =B64857EE 251FA727 CF807B04 6ACF2ADC 986ED2CB.                         cipherText= E47FBF29.

Z.21a=2F059442 39E7CAF6 F39DDD2F 28E04C95 85C8D773.  OldZ       = 9766AB60.     X_i_0 = 7D57DAE3.
Z.21b=33A893DB 78EC2DE1 9B720D2F 066730AA 6635E0D0.  Keystream  = FD9C8C30.  plainText= 00000002.
Z.21c=1F890674 883AC77C 935942FB 47770D82 424A356D.                            X_i_1  = 437367C4.
Z.21 =31695637 87908E53 1796C225 5C4EB571 6E111E58.                         cipherText= FD9C8C32.

Z.22a=7017511B 86B2AFD6 931B345D AF19028C 4B0AEBC9.  OldZ       = 8A318298.     X_i_0 = 641B7CEF.
Z.22b=E6063232 C220FE6D C7CC57BE F97E84C2 AB474BDC.  Keystream  = 3578CE74.  plainText= 00000002.
Z.22c=096DE5BF A12925B5 C2983091 2F0936F6 D19F6FE3.                            X_i_1  = C55B1BA1.
Z.22 =70BFD09B B252B385 F43CF397 FC789813 525D9DAF.                         cipherText= 3578CE76.

Z.23a=70D15CDA C144D012 36733209 48B9AF08 F7A95674.  OldZ       = 2B37A10C.     X_i_0 = 387C78AF.
Z.23b=B6DF1E77 6C3331B7 0B55AEC5 491BF228 02943383.  Keystream  = 2DCBD48F.  plainText= 00000002.
Z.23c=F62143FF 1D94E9BB 7CC9E95D 97D341B7 FAB3E6CB.                            X_i_1  = 9FFEB3BC.
Z.23 =66EC1F0B 387B8739 D753F967 CD1BDFDD 4263E09D.                         cipherText= 2DCBD48D.

Z.24a=0FFDD068 7D9F59EB 0F1FC6A8 9531815B 1DD8CF50.  OldZ       = 986ED2CB.     X_i_0 = DEE3EFDC.
Z.24b=15F7BE8A 3CB5DB02 610D00F1 4593F711 92E26BBC.  Keystream  = 2B513E87.  plainText= 00000002.
Z.24c=176B3AB7 611AFB3E 6AD8750D 3410E477 B3AC7A43.                            X_i_1  = AE98BE2A.
Z.24 =877F5C29 B40BEE95 1361B08C 9FBABA9A EFD37BF1.                         cipherText= 2B513E85.

Z.25a=742D864E 7DAA1A8F 4C9E68B7 FE92255B 183B4D46.  OldZ       = 6E111E58.     X_i_0 = 326E3BA9.
Z.25b=74A452DE 8ABE4B2C 398A0032 6535E11F F8649306.  Keystream  = 6675B15E.  plainText= 00000002.
Z.25c=B467F7B3 8B78CA0C 6793C0A0 73AD6CA8 EE40FCEF.                            X_i_1  = 6C52AEC8.
Z.25 =C235467E C1B71B29 7F759877 8223920D A466510B.                         cipherText= 6675B15C.

***************************************************************/


/* ---------- KAT vector # 94 ------------- */
{   0,  17,   8,  32, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0xB5,0x68,0x25,0xB5,0x9D,0xD5,0xB1,0xA3,0xDB,0xD7,0x7D,0x58,0x0C,0x42,0x1C,0x6C}, /* nonce */
   {0x34,0x10,0xCA,0x03,0x5C,0x67,0x7E,0x3A}, /* aad */
   {0xBA,0xC9,0xC1,0xB5,0x73,0x36,0x6A,0x02,0x9E,0xCC,0xAB,0xCB,0x8B,0x44,0x0F,0x11,
    0x76}, /* pText */
   {0xD2,0x6D,0x0B,0x8D,0x6A,0x22,0xCA,0xCC,0x7E,0xF0,0x18,0x33,0x2E,0x47,0x8C,0x01,
    0xB4}, /* cText */
   {0x77,0x22,0x74,0x0E}  ,/* mac */


/* ---------- KAT vector # 95 ------------- */
{   0,  16,  26, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0xF3,0xDA,0x9F,0x67,0xA4,0x25,0xA0,0x99,0xE7,0x80,0xB2,0x46,0xF8,0x13,0x2D,0x21}, /* nonce */
   {0x68,0x31,0x2C,0x49,0xDC,0x80,0xDA,0xFF,0xA1,0xEE,0x4E,0xB6,0xE1,0xA3,0x5D,0x74,
    0x34,0x2F,0xAC,0x8B,0x3A,0x52,0x10,0xA7,0xE3,0xAC}, /* aad */
   {0x1F,0x4B,0x87,0x27,0xD4,0x6E,0x97,0x91,0x53,0x22,0x0C,0x31,0x81,0x38,0xD2,0x2A}, /* pText */
   {0x53,0xB5,0xB9,0x84,0xBF,0x13,0x90,0x61,0xBE,0x5F,0x05,0xEA,0x0D,0x1E,0x49,0x7B}, /* cText */
   {0xE5,0x3D,0xB7,0xBC,0xEA,0xE4,0x67,0x4E,0x0F,0x5A,0x73,0x77,0x87,0x99,0xEC,0x80}  ,/* mac */


/* ---------- KAT vector # 96 ------------- */
{   0,  15,  30,  24, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x30,0x3A,0xE9,0xCE,0x4A,0x04,0x31,0xD3,0x52,0x99,0x8B,0x69,0x40,0x64,0x6D,0xB3}, /* nonce */
   {0x89,0x2F,0x3C,0x1A,0xDA,0x46,0xE6,0x09,0x80,0x68,0x80,0x9C,0xBC,0xFA,0xAC,0xFC,
    0xC0,0xB9,0xF1,0x3A,0xA6,0xFB,0x20,0xE3,0x78,0x70,0x9E,0x31,0xEF,0x15}, /* aad */
   {0xE2,0x34,0x3E,0x3A,0xA2,0x62,0x94,0x73,0x33,0x6F,0xC5,0x19,0xAC,0x9A,0xE7}, /* pText */
   {0x57,0x6A,0xF2,0xEF,0x39,0x24,0xF8,0xD6,0x24,0x4C,0x12,0x39,0x7C,0x26,0xD0}, /* cText */
   {0x89,0x18,0xEB}  ,/* mac */


/* ---------- KAT vector # 97 ------------- */
{   0,  14,  27, 112, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x8B,0x6B,0x2D,0xCF,0xB4,0x72,0xBE,0xB0,0xD5,0x1F,0xA7,0x5C,0xDD,0xDC,0xD2,0x2F}, /* nonce */
   {0xF8,0x83,0xC9,0xDC,0xE6,0xFF,0x8C,0xB0,0x7A,0x3D,0xA5,0x78,0xC2,0xA0,0x5E,0x99,
    0x64,0x2B,0x86,0xE1,0x23,0xC7,0x86,0xBC,0xF3,0xB9,0xEE}, /* aad */
   {0xD1,0xBC,0x8A,0x6F,0x17,0xC6,0x75,0x65,0xD7,0xDB,0x19,0x70,0x4C,0x0F}, /* pText */
   {0xC3,0x76,0x8C,0xCC,0x2C,0xE2,0xED,0xFB,0x81,0xD6,0x78,0x9A,0x7E,0x79}, /* cText */
   {0x2B,0x55,0xD6,0xEB,0x2D,0xA3,0x62,0x96,0x68,0xD8,0x3F,0x38,0xD5,0x75}  ,/* mac */


/* ---------- KAT vector # 98 ------------- */
{   0,  13,  26,  48, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0xF5,0x8D,0x3D,0x72,0x3E,0x2B,0xC6,0xF0,0xEE,0x28,0xD0,0xBE,0x35,0x70,0x58,0x10}, /* nonce */
   {0xED,0xE8,0x28,0x31,0xEA,0x2F,0x49,0x27,0x8A,0x1B,0xCE,0x0F,0xE2,0x66,0x4D,0xFE,
    0xEC,0x50,0x29,0x3A,0x65,0x88,0x31,0xE8,0x3E,0xAB}, /* aad */
   {0x2C,0xA6,0x26,0x9C,0x7C,0xB7,0x37,0xC6,0xE4,0x6D,0xA4,0x1C,0x51}, /* pText */
   {0x72,0x29,0xC0,0xDD,0x29,0x84,0xF8,0xFB,0x99,0x45,0x3C,0x93,0x5D}, /* cText */
   {0xE8,0x2F,0x4A,0x8B,0x47,0x90}  ,/* mac */


/* ---------- KAT vector # 99 ------------- */
{   0,  12,  24,  96, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0xE0,0x4C,0x4B,0x35,0x4D,0x08,0xB5,0xAA,0xCB,0x26,0x21,0x25,0x7A,0x2F,0x6F,0x7E}, /* nonce */
   {0xF0,0xDF,0x2D,0x2B,0x54,0x19,0x95,0x3A,0x19,0x8D,0xF0,0x0A,0xE1,0xEC,0xDD,0x7C,
    0x9D,0x26,0xFC,0x24,0x2F,0x6D,0x0D,0x0E}, /* aad */
   {0xD0,0x24,0xFD,0x10,0x47,0x32,0x9D,0x5F,0xBF,0xCD,0x83,0xC5}, /* pText */
   {0x90,0x02,0x60,0xBB,0x60,0xD4,0xDC,0xA0,0x8B,0xA7,0x03,0xB8}, /* cText */
   {0x8A,0x5D,0x7F,0x39,0x25,0x40,0x00,0x37,0xFE,0xB4,0xDD,0x6F}  ,/* mac */


/* ---------- KAT vector #100 ------------- */
{   0,  11,   4,  16, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x1B,0xFD,0x7E,0x1E,0x62,0x23,0xB0,0x5C,0x93,0x5E,0xCD,0xD6,0x92,0xFD,0xCB,0xCB}, /* nonce */
   {0xC1,0x4E,0x41,0x09}, /* aad */
   {0x6D,0x04,0xDF,0x6F,0xD4,0x93,0xBB,0x9A,0x0C,0x55,0xD3}, /* pText */
   {0xD1,0x12,0x18,0x06,0x20,0x22,0x38,0xEE,0xEE,0x50,0x48}, /* cText */
   {0x51,0xF0}  ,/* mac */


/* ---------- KAT vector #101 ------------- */
{   0,  10,   8,  56, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x5C,0xE9,0x57,0x2A,0x52,0x96,0xE8,0xE0,0x43,0xC4,0x99,0x29,0x89,0xDD,0x51,0x42}, /* nonce */
   {0x2C,0xE5,0x34,0xC5,0x5A,0x2C,0x85,0x4D}, /* aad */
   {0x92,0x47,0xB6,0x18,0x00,0xE8,0xEE,0x7B,0x7E,0xD5}, /* pText */
   {0xF1,0x40,0x89,0x5E,0x37,0xC6,0x31,0x3C,0xA9,0x17}, /* cText */
   {0xB2,0xBF,0x37,0xDB,0x5D,0x2B,0xBA}  ,/* mac */


/* ---------- KAT vector #102 ------------- */
{   0,   9,  29, 120, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x24,0x03,0x20,0x44,0x72,0x8B,0x94,0x66,0x80,0xB2,0x25,0x46,0x24,0xC6,0x7C,0x98}, /* nonce */
   {0x02,0x27,0xC5,0xF1,0x15,0xDD,0xE2,0xC1,0x3E,0x0C,0x06,0xFC,0xED,0x08,0x0E,0x31,
    0xCA,0x3D,0x0C,0xB8,0x9F,0x71,0xBC,0x19,0x06,0x87,0x8A,0x64,0x00}, /* aad */
   {0x4C,0x85,0xE8,0x7B,0xEF,0xB4,0x8A,0x2F,0x07}, /* pText */
   {0xCE,0xAE,0x51,0x59,0x4C,0x62,0x7F,0x04,0x7D}, /* cText */
   {0xC8,0xEB,0x69,0xE6,0xAC,0x4A,0xD7,0x12,0xBC,0xF6,0x27,0xE8,0x05,0x00,0x01}  ,/* mac */


/* ---------- KAT vector #103 ------------- */
{   0,   8,   0,  56, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x99,0x7A,0x7C,0x13,0xC0,0x43,0xAD,0xC4,0xE6,0x55,0xEC,0x4B,0x01,0x7D,0xE8,0xD5}, /* nonce */
   {0x00}, /* aad */
   {0x6A,0x4B,0x3C,0x56,0x26,0x46,0xB7,0xFA}, /* pText */
   {0x52,0xA1,0x2D,0xBF,0x5B,0xB3,0xF0,0x06}, /* cText */
   {0xED,0x0C,0xB4,0x38,0xBF,0x60,0x24}  ,/* mac */


/* ---------- KAT vector #104 ------------- */
{   0,   7,  24,   8, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x70,0x33,0xDA,0x51,0x88,0xB3,0x2F,0x31,0x10,0x9D,0x70,0xFD,0x5A,0x44,0xDD,0xB8}, /* nonce */
   {0x44,0x3F,0x83,0x66,0xBF,0x9F,0x86,0xE3,0x21,0xDF,0x93,0x04,0x83,0xBC,0x8D,0xD6,
    0x43,0x66,0x35,0xA8,0x85,0x47,0x67,0xD1}, /* aad */
   {0x8A,0x99,0x97,0x57,0x23,0xFD,0xC5}, /* pText */
   {0x2E,0x77,0x75,0xF6,0x18,0x0A,0x45}, /* cText */
   {0xF0}  ,/* mac */


/* ---------- KAT vector #105 ------------- */
{   0,   6,   1, 120, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x69,0xBE,0x2F,0x0B,0xC8,0x85,0x80,0xD3,0xAD,0xD2,0x86,0xE5,0x6E,0xA9,0x2E,0x08}, /* nonce */
   {0x76}, /* aad */
   {0x36,0xCD,0x2F,0x64,0x68,0x02}, /* pText */
   {0x39,0xE1,0xF3,0x72,0x8D,0x0F}, /* cText */
   {0xE3,0x91,0xCC,0xE8,0x68,0x2E,0x92,0xCE,0x13,0x6A,0x51,0xCF,0x00,0x16,0xBE}  ,/* mac */


/* ---------- KAT vector #106 ------------- */
{   0,   5,  24, 104, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x41,0xE1,0x60,0x3E,0x92,0xA6,0xC3,0x11,0x44,0x0B,0xD0,0xA7,0x0A,0x8B,0x78,0x3B}, /* nonce */
   {0x94,0xA3,0x98,0x9E,0x74,0x97,0x33,0x3A,0x9C,0x9B,0x5C,0xCC,0x9E,0x26,0x41,0xB2,
    0xF0,0xBB,0xAE,0xD4,0x61,0x89,0x0B,0xB6}, /* aad */
   {0xE8,0x2D,0x92,0x55,0x33}, /* pText */
   {0xE1,0xE8,0x5E,0x0C,0xA5}, /* cText */
   {0x7F,0x5A,0x2F,0xB0,0x3E,0xB3,0x54,0x91,0xF5,0x53,0x66,0xC1,0x3D}  ,/* mac */


/* ---------- KAT vector #107 ------------- */
{   0,   4,  13,  72, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0xE8,0x6A,0xE3,0xE0,0xBE,0x2F,0xDF,0x77,0xC0,0x19,0xE4,0x12,0x84,0x5C,0xD5,0xB6}, /* nonce */
   {0x26,0xCD,0x5C,0xCB,0x42,0xC6,0x20,0xBD,0xEE,0x02,0x45,0x19,0x2D}, /* aad */
   {0x4B,0x16,0x87,0x43}, /* pText */
   {0x14,0xDF,0x84,0x30}, /* cText */
   {0x29,0x7E,0xE2,0xCA,0x0A,0xEB,0x32,0x1B,0xE7}  ,/* mac */


/* ---------- KAT vector #108 ------------- */
{   0,   3,  31,  56, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x1F,0x9A,0x31,0xC2,0xD8,0x58,0xFA,0xFA,0x2C,0xC1,0xEA,0x74,0x05,0xCC,0xA9,0xA6}, /* nonce */
   {0x22,0x6D,0x75,0x37,0x01,0xD3,0xA5,0x64,0xB1,0x4D,0x16,0x83,0xE7,0x6E,0xE0,0xD7,
    0xE7,0x76,0xEE,0x74,0x9F,0x0F,0x6D,0x49,0x44,0x9D,0x6C,0xB4,0x60,0x7B,0xE2}, /* aad */
   {0xBD,0xE6,0x75}, /* pText */
   {0x03,0x38,0x46}, /* cText */
   {0x24,0x67,0x11,0x01,0x66,0xB4,0xF8}  ,/* mac */


/* ---------- KAT vector #109 ------------- */
{   0,   2,   0,  88, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x3A,0x63,0xB9,0xD9,0x07,0xDC,0x1A,0xE2,0x22,0x0A,0xA9,0xD6,0x19,0xB8,0x78,0xB3}, /* nonce */
   {0x00}, /* aad */
   {0xB3,0x28}, /* pText */
   {0xD0,0x9D}, /* cText */
   {0xE0,0xF2,0xD5,0xA0,0x78,0x8D,0xA4,0xCC,0xD0,0x6D,0x75}  ,/* mac */


/* ---------- KAT vector #110 ------------- */
{   0,   1,  31,  64, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x8C,0x68,0x40,0x5E,0xFE,0x7C,0xDF,0x19,0xA9,0xC8,0xA2,0x1C,0x2F,0x87,0x0E,0xDA}, /* nonce */
   {0xE1,0x9D,0x14,0x90,0x07,0x1A,0xA2,0x0F,0x02,0x06,0x33,0xC9,0xD2,0x35,0xCA,0xBE,
    0x82,0x83,0x14,0xD6,0x14,0x83,0x10,0xFA,0x83,0x9F,0x76,0x37,0xD8,0x51,0x76}, /* aad */
   {0xBF}, /* pText */
   {0xD7}, /* cText */
   {0xBF,0xB6,0x9F,0x3F,0x45,0x30,0xBA,0xDD}  ,/* mac */


/* ---------- KAT vector #111 ------------- */
{   0,   0,  25, 128, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x68,0x46,0x6D,0x9F,0x07,0x08,0x9B,0x7A,0x15,0xE3,0x8B,0x54,0x1C,0x6F,0x88,0xB1}, /* nonce */
   {0x96,0x33,0xBC,0x40,0x07,0x71,0x68,0x29,0x07,0x5E,0x73,0xA3,0xC1,0xDF,0xF4,0x21,
    0x51,0xB8,0x8F,0x38,0x0D,0x4B,0xFA,0xBA,0x57}, /* aad */
   {0x00}, /* pText */
   {0x00}, /* cText */
   {0x2B,0x17,0x34,0xEB,0x40,0x61,0x1D,0x27,0x88,0x0A,0x9B,0x41,0x2C,0xDD,0x36,0x91}  ,/* mac */


/* ---------- KAT vector #112 ------------- */
{   0,  36,  25,  91, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x38,0x77,0xE2,0xD8,0x60,0xEC,0x04,0xF2,0x78,0x86,0x80,0x47,0xE6,0xDA,0xE3,0xA7}, /* nonce */
   {0x9F,0x05,0xFE,0xE8,0x4E,0x21,0x69,0xDC,0x4D,0xC7,0x6A,0x69,0xDC,0xFF,0x3E,0xA3,
    0x3F,0xB2,0x1B,0xA1,0xC1,0xE0,0x4E,0x1D,0x27}, /* aad */
   {0xF8,0x69,0xA6,0x1F,0xBE,0x3E,0xD4,0x89,0xB1,0x78,0xB4,0xFF,0x1F,0x04,0xEC,0x84,
    0xE4,0xAF,0x3A,0x29,0xA1,0x4C,0xDA,0x21,0x02,0x75,0x03,0x4B,0xF6,0xC6,0x6B,0x80,
    0x65,0xB6,0x6A,0x48}, /* pText */
   {0x6E,0xC0,0x18,0x07,0x21,0x28,0x91,0x56,0x43,0xA7,0x15,0x44,0x5A,0x24,0xB4,0x0B,
    0x78,0x63,0xFB,0x75,0xF2,0x7A,0xF4,0x67,0x7D,0xF0,0x34,0x0A,0xC8,0x7D,0xCD,0x12,
    0xCA,0xEE,0x06,0x17}, /* cText */
   {0x80,0x47,0xBA,0x17,0x37,0x37,0x33,0xAD,0x35,0x97,0x90,0xE2}  ,/* mac */


/* ---------- KAT vector #113 ------------- */
{   0,  35,  11, 104, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x6A,0xF6,0xBE,0x13,0xBE,0x1C,0xB8,0x5E,0xB1,0x0D,0xCE,0x2A,0xCF,0x5C,0x60,0x32}, /* nonce */
   {0xD1,0x78,0xC8,0xAE,0x48,0x02,0x56,0x4D,0xC7,0x6E,0x5D}, /* aad */
   {0x8A,0xAD,0x4F,0xA6,0xB0,0xF5,0xF7,0x6E,0x8E,0x5A,0x53,0xBF,0x1F,0x3C,0xC3,0xA2,
    0xE9,0xBA,0x6A,0xE8,0x5D,0xCA,0xE0,0x3E,0xD1,0xA5,0x06,0xEF,0xBD,0x6C,0x8C,0x43,
    0x8A,0x9D,0x09}, /* pText */
   {0x1E,0x91,0x55,0x3C,0x08,0xF9,0x45,0x9C,0xC2,0x37,0x58,0xA6,0x6D,0x65,0x3C,0x8F,
    0xD3,0x58,0xEE,0xB2,0x3F,0x5C,0x75,0xC9,0xA6,0xC2,0xD9,0x87,0x29,0x77,0x3F,0x14,
    0x11,0xA4,0x0F}, /* cText */
   {0x62,0x6F,0x5C,0x1F,0xE8,0xA2,0x20,0x3B,0x1B,0x77,0x4D,0xB1,0xD3}  ,/* mac */


/* ---------- KAT vector #114 ------------- */
{   0,  34,  30,  50, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0xCF,0x0D,0xB9,0xC9,0xFB,0xDF,0xED,0x5E,0xBB,0x21,0xA6,0xD1,0xCC,0x37,0x99,0x81}, /* nonce */
   {0x65,0x6A,0x29,0xAC,0x59,0x98,0xCD,0xF0,0xD1,0x86,0x96,0xDC,0x39,0x6F,0x7C,0x3D,
    0x5B,0xBC,0x37,0xD2,0xE8,0x76,0x36,0x57,0x23,0xB6,0x31,0xC3,0x3A,0xC5}, /* aad */
   {0x7E,0xAC,0x1C,0xB0,0x41,0x9C,0x2C,0xA3,0xC6,0x95,0x23,0x3B,0xA9,0x5B,0x1F,0x45,
    0xAC,0x22,0xBF,0x6F,0x53,0x6C,0x47,0x0B,0x94,0x0E,0x90,0x1E,0x4A,0x7B,0x44,0x83,
    0xAE,0x87}, /* pText */
   {0x5E,0x66,0xEA,0x8F,0xB3,0x55,0x1F,0x8E,0x40,0xBA,0xAE,0xFB,0x6B,0xED,0x38,0x49,
    0x47,0xE3,0xE5,0x42,0x44,0x27,0x5B,0x6D,0x7D,0x01,0x29,0xB3,0x75,0x90,0xD6,0x26,
    0xDB,0xE4}, /* cText */
   {0x8E,0x53,0xF0,0xD4,0x37,0x34,0x6A}  ,/* mac */


/* ---------- KAT vector #115 ------------- */
{   0,  33,   0,  18, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x55,0x58,0xD9,0xB9,0xD3,0x5A,0x39,0xEE,0x75,0xD6,0x61,0xA5,0xB7,0x2D,0xFD,0x57}, /* nonce */
   {0x00}, /* aad */
   {0x48,0xC4,0x74,0x0D,0xC7,0x53,0x96,0x5C,0xAD,0xCD,0x32,0x50,0x3B,0x9F,0xB6,0x34,
    0xDC,0xBC,0x4D,0xAB,0xE1,0xA6,0x68,0x25,0x48,0xF6,0x0C,0x31,0x5F,0xF0,0x40,0x55,
    0x02}, /* pText */
   {0x77,0x9F,0x84,0xB9,0x43,0x39,0x62,0x59,0x8E,0xEA,0x46,0xA7,0x9D,0xAC,0xC0,0x89,
    0x06,0x56,0xA9,0x59,0x69,0x96,0x7B,0xCE,0x87,0xEF,0x90,0xE1,0xFD,0xDE,0x90,0x18,
    0x17}, /* cText */
   {0x27,0xF6,0x90}  ,/* mac */


/* ---------- KAT vector #116 ------------- */
{   0,  32,  11, 120, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x00,0xF2,0x8B,0xF8,0x56,0xC1,0x16,0xAF,0x21,0x75,0xB8,0x7A,0xC5,0x6B,0x89,0xC7}, /* nonce */
   {0x71,0xFC,0xED,0x5B,0x3B,0x4A,0xF9,0x44,0x6C,0x7D,0x4E}, /* aad */
   {0x44,0xF8,0x86,0xB1,0x76,0xB5,0xC7,0xF2,0xB6,0x97,0x22,0xE4,0xE9,0xAD,0x94,0xD6,
    0x95,0xA2,0x98,0x12,0x26,0x51,0x32,0x0B,0x71,0x17,0x27,0xFE,0x99,0x76,0x65,0x11}, /* pText */
   {0x13,0xAC,0xD1,0xFF,0x93,0xF3,0x09,0xAF,0x6F,0x62,0x43,0x6F,0x7A,0x6F,0x74,0xAC,
    0x34,0xEA,0xA8,0xD7,0xFF,0xC4,0xCC,0xBF,0x46,0xDC,0xD5,0x7A,0xA9,0x0E,0xA3,0x76}, /* cText */
   {0xB6,0x97,0x24,0xFF,0xDC,0x3A,0xC0,0xBC,0x31,0x9E,0x2B,0x58,0x82,0x8E,0x72}  ,/* mac */


/* ---------- KAT vector #117 ------------- */
{   0,  31,  24, 116, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x5C,0x00,0x61,0x33,0xAF,0x51,0x0F,0x1A,0x45,0x48,0x01,0x1B,0xCC,0x1A,0xCF,0x93}, /* nonce */
   {0x06,0xF0,0x32,0x2A,0x52,0xDC,0x32,0x29,0x57,0x99,0x06,0x8D,0xF4,0x66,0x79,0x96,
    0xE7,0x98,0xFD,0x30,0xF5,0x27,0x38,0x1D}, /* aad */
   {0xF5,0x83,0x53,0x76,0x2A,0x1A,0x0D,0x97,0xB6,0x2C,0x12,0x8D,0xB9,0x8E,0xCD,0x83,
    0x78,0xD7,0x74,0x26,0x7B,0x2C,0xF6,0x47,0x86,0xB2,0x5C,0x86,0xEF,0x25,0x55}, /* pText */
   {0x07,0xED,0xCF,0x2F,0xE1,0xE5,0x0C,0xCA,0xF6,0x33,0x8E,0xF3,0xD5,0x91,0x31,0x04,
    0xD3,0x7E,0x17,0x74,0xDE,0x88,0xFA,0xAC,0xC7,0xAC,0xEC,0x84,0x3C,0x46,0xC2}, /* cText */
   {0xCE,0xE1,0x1F,0x02,0x52,0xAD,0xCD,0x5F,0xB8,0x13,0x03,0xC1,0x7F,0xC1,0x14}  ,/* mac */


/* ---------- KAT vector #118 ------------- */
{   0,  30,  21,   9, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x96,0x3D,0x38,0x0E,0xF2,0x65,0x83,0x59,0x95,0x47,0xF2,0x84,0xC9,0x1A,0xAE,0x9C}, /* nonce */
   {0x42,0x13,0x8D,0x7C,0xF4,0xD0,0x89,0xED,0x56,0x7C,0xF8,0xFD,0x2C,0x79,0x46,0xDE,
    0xFC,0x0B,0x5F,0x98,0x94}, /* aad */
   {0x52,0xF8,0x38,0x11,0xC5,0x1B,0xCB,0x5C,0x52,0xE3,0xAC,0x03,0xA5,0x7B,0x8D,0x3F,
    0x1E,0x2F,0x65,0x97,0x3D,0x3A,0x34,0xC7,0x87,0xD4,0x1A,0x61,0x05,0x5A}, /* pText */
   {0x66,0x1C,0xEB,0x3F,0x61,0xAC,0x78,0x2F,0xAA,0x88,0x02,0xA9,0xB6,0x4F,0x9B,0x23,
    0x45,0x26,0x64,0x1E,0x2F,0xCC,0x8A,0x07,0x21,0x5A,0xF4,0x31,0x0D,0x37}, /* cText */
   {0x0B,0x17}  ,/* mac */


/* ---------- KAT vector #119 ------------- */
{   0,  29,   1,  21, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0xBD,0x66,0xE5,0x70,0x98,0x27,0x71,0xF2,0x44,0xED,0x4E,0x21,0xAC,0x72,0x70,0x71}, /* nonce */
   {0x55}, /* aad */
   {0x0D,0x2E,0x38,0x2B,0x46,0x80,0xEB,0x3D,0x83,0x0F,0x7E,0x43,0x0A,0x11,0x78,0x64,
    0xA9,0x8A,0x95,0x6F,0x6E,0xF7,0x35,0x18,0x69,0x19,0x2F,0x9F,0x76}, /* pText */
   {0xA2,0xB9,0xF7,0x85,0x16,0xF3,0x0C,0xFB,0xF0,0xD4,0xC1,0x24,0x38,0xA4,0xE6,0xA8,
    0xFD,0x02,0x15,0xFC,0x84,0xC4,0x5A,0xEF,0x2D,0x15,0xFC,0x87,0x1C}, /* cText */
   {0x1C,0xAF,0xFE}  ,/* mac */


/* ---------- KAT vector #120 ------------- */
{   0,  28,  23,  18, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0xE0,0x43,0x12,0xF4,0x19,0x9D,0x0F,0x63,0x45,0x02,0x21,0x5E,0xC1,0xDD,0xFD,0xD3}, /* nonce */
   {0x2B,0xC3,0x3E,0x38,0x05,0x72,0xFA,0xFC,0x7F,0x25,0xAD,0x9B,0x86,0xA6,0xDB,0x18,
    0x0C,0xB1,0x8A,0x84,0x99,0x34,0x1D}, /* aad */
   {0x39,0xD0,0x74,0x9B,0x0D,0x87,0xD3,0x1C,0x7E,0x44,0xEC,0xB0,0x66,0x9A,0x25,0x3B,
    0xFA,0xDD,0x85,0x4A,0xDE,0xEB,0xF0,0x4A,0xFA,0xA9,0xDF,0xFF}, /* pText */
   {0xF6,0x1E,0x6E,0xF2,0x70,0x63,0xA8,0xC1,0xD4,0x84,0x6D,0x93,0xBB,0x85,0xAC,0xB5,
    0x55,0xA9,0x3B,0x2D,0xE1,0x54,0xE3,0x48,0x2A,0xF8,0xCE,0xB8}, /* cText */
   {0xEF,0xAD,0xE9}  ,/* mac */


/* ---------- KAT vector #121 ------------- */
{   0,  27,  14,  38, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x6C,0x0F,0x59,0x52,0x5B,0xA2,0x94,0x46,0x5F,0x2F,0xB9,0x0C,0x0F,0xCE,0x91,0x24}, /* nonce */
   {0x28,0x81,0x1F,0x9A,0xBA,0x49,0x77,0xB1,0x24,0x5D,0xCB,0x44,0xE2,0x08}, /* aad */
   {0x69,0x21,0x96,0x01,0xA5,0x2C,0x54,0xD2,0xAF,0xF0,0xC7,0xC2,0x4C,0xDE,0xA0,0x97,
    0xCF,0x82,0x85,0xC2,0x75,0x42,0xEF,0xBC,0xA0,0xB7,0x4A}, /* pText */
   {0x6B,0x74,0x00,0x78,0x56,0xCA,0xC0,0xA0,0x30,0xF7,0x62,0x59,0x5F,0xF1,0xFC,0xE8,
    0x7D,0x44,0x03,0xBF,0x08,0x6C,0x5F,0x7D,0x4D,0xE4,0x76}, /* cText */
   {0xB5,0x57,0xB3,0xD8,0xFF}  ,/* mac */


/* ---------- KAT vector #122 ------------- */
{   0,  26,  35,  37, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x79,0x10,0xE2,0x6D,0xEB,0x97,0xB1,0x79,0xA1,0x66,0xA6,0x98,0x28,0x36,0x88,0x89}, /* nonce */
   {0xDB,0x20,0x7A,0x44,0x9D,0xDB,0x3A,0x40,0x73,0x5C,0xAE,0x79,0x21,0xE5,0xBB,0x12,
    0xB9,0x98,0x14,0xFC,0xB4,0xAA,0x25,0x38,0xDA,0xCB,0x35,0xD5,0xB1,0x33,0xF0,0xBB,
    0x44,0xE9,0xB4}, /* aad */
   {0x95,0x79,0xB5,0x4F,0xEA,0x29,0x6B,0xF8,0xC2,0x3A,0x54,0x2C,0x99,0x88,0xA2,0xCA,
    0x77,0x7A,0x2B,0x48,0x76,0x8B,0xBD,0x56,0x77,0x03}, /* pText */
   {0x11,0x2A,0xA8,0xDC,0xB7,0x0E,0x3B,0x38,0xAB,0x02,0xAF,0x3E,0xC9,0xE0,0xA0,0x09,
    0x7B,0x73,0x93,0x70,0x69,0xFA,0xAC,0xE9,0xB8,0x8F}, /* cText */
   {0x38,0xDF,0x24,0x87,0x9F}  ,/* mac */


/* ---------- KAT vector #123 ------------- */
{   0,  25,  14,  66, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x06,0xC2,0x1E,0x83,0xF1,0x0E,0xD8,0xA3,0x8E,0x59,0x10,0xD8,0xFF,0x8F,0x1E,0x99}, /* nonce */
   {0x5A,0x99,0x33,0x5D,0x06,0x0F,0xB6,0xCC,0x61,0x91,0x7F,0x51,0x1C,0x0F}, /* aad */
   {0x5B,0xC6,0x1C,0xBA,0x96,0x09,0xC8,0x1E,0x0F,0x54,0x41,0x09,0x0C,0x71,0x73,0x53,
    0x49,0xC7,0x85,0xB6,0xF9,0x23,0xB9,0x69,0xFF}, /* pText */
   {0xFE,0x7D,0xEC,0x15,0x30,0x27,0xE7,0xC5,0x8D,0xCA,0x09,0xA6,0x86,0xDB,0xEF,0xE7,
    0xF8,0x5C,0xA4,0x6B,0xE4,0xDA,0x08,0x32,0x72}, /* cText */
   {0x62,0x8C,0x82,0x20,0xCB,0x77,0xA0,0x10,0x47}  ,/* mac */


/* ---------- KAT vector #124 ------------- */
{   0,  24,  13,  88, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0xB9,0xD0,0x2A,0x4E,0x61,0x2B,0x32,0xA1,0x79,0xA7,0xE6,0xD5,0xA6,0x42,0xC7,0x15}, /* nonce */
   {0x48,0x1B,0xF6,0xAF,0x62,0x83,0x04,0xE2,0x0C,0xCD,0x96,0x0C,0xD4}, /* aad */
   {0xF2,0x8C,0xC2,0x26,0x38,0x2A,0x02,0xF5,0xFE,0x7F,0xA4,0x46,0x50,0x9E,0xBA,0xDE,
    0x98,0x9C,0xA8,0xFE,0x42,0xE2,0x76,0x8D}, /* pText */
   {0xB0,0x09,0xCB,0x7F,0x87,0xC5,0x4F,0x4D,0x06,0x40,0xCE,0x31,0xAC,0x0C,0x1B,0x19,
    0x92,0x17,0x5A,0xB2,0xC2,0xE6,0x0B,0x52}, /* cText */
   {0x56,0x3B,0xF6,0xDF,0x34,0x07,0xCA,0xD0,0x37,0x1C,0x90}  ,/* mac */


/* ---------- KAT vector #125 ------------- */
{   0,  23,  19,  11, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x2A,0xEC,0x58,0xD6,0xFB,0xF2,0xAE,0x0D,0x89,0x6E,0xB6,0x7E,0x64,0xB5,0x60,0x14}, /* nonce */
   {0xF0,0xD7,0x67,0x97,0x14,0xB5,0xF0,0x0B,0x42,0x1A,0x54,0x2D,0x03,0xD9,0x2A,0xE2,
    0xB3,0x8A,0x1E}, /* aad */
   {0xE7,0xC1,0x5F,0x36,0x8B,0xEE,0x7F,0xF5,0x07,0xCB,0xAA,0x6C,0x79,0x65,0x4B,0x33,
    0x28,0xB4,0x69,0x8D,0xBD,0xC8,0x59}, /* pText */
   {0x96,0x15,0x89,0xC1,0xD3,0x82,0x07,0x5E,0x36,0xC7,0x7D,0x35,0xEE,0x61,0x97,0x58,
    0x19,0x3B,0xCC,0xC4,0xCC,0xA6,0xE3}, /* cText */
   {0x85,0xE4}  ,/* mac */


/* ---------- KAT vector #126 ------------- */
{   0,  22,  23,  13, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x5A,0xEB,0xF3,0xF9,0x07,0x41,0xC4,0x13,0x3E,0x6F,0x84,0x1C,0x65,0x81,0x7C,0x1F}, /* nonce */
   {0x77,0xF2,0xF4,0x08,0xEF,0x20,0xEA,0xFF,0x59,0x8A,0x76,0xF5,0x4D,0x43,0xE2,0x87,
    0xD2,0x38,0xD3,0x7B,0x68,0x31,0x51}, /* aad */
   {0x4D,0x04,0x3D,0x5F,0x25,0x1D,0xD5,0x96,0xC3,0x08,0xDB,0xBD,0xA9,0xD1,0x77,0x34,
    0x6C,0xCD,0x13,0xB1,0xBE,0xC9}, /* pText */
   {0xD6,0xD0,0xB7,0xA7,0x69,0xE0,0x45,0x49,0x6E,0x25,0x1D,0x09,0x7F,0x02,0xF9,0xF5,
    0x14,0x41,0x7D,0x98,0x5D,0x9A}, /* cText */
   {0x2D,0x15}  ,/* mac */


/* ---------- KAT vector #127 ------------- */
{   0,  21,  34,  24, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0xEA,0x51,0xFE,0xD9,0x64,0x30,0xED,0x6C,0xDF,0xE7,0x90,0xA1,0x50,0x4A,0xE9,0x3A}, /* nonce */
   {0x77,0x16,0x07,0x7A,0xA7,0xD9,0x63,0xFB,0xF1,0xF7,0xF9,0x09,0x04,0x1B,0xEB,0x4D,
    0xCF,0x84,0x86,0xD7,0xB9,0xAB,0x69,0xF2,0x58,0x00,0x39,0x0E,0x07,0x0C,0x38,0x0A,
    0x3D,0xA2}, /* aad */
   {0x8C,0xB3,0xBF,0x0A,0x20,0x91,0x4A,0xE4,0x5F,0xAC,0x92,0xD7,0xB3,0x0C,0x1C,0xE9,
    0xB2,0xC6,0x4D,0x9A,0x3F}, /* pText */
   {0x33,0xE2,0xC1,0x41,0x7A,0x8F,0xB9,0xAA,0x70,0x26,0x69,0x60,0x4D,0x6B,0x06,0xF7,
    0x8A,0x3D,0xED,0xC8,0xD7}, /* cText */
   {0xB8,0xE8,0x69}  ,/* mac */


/* ---------- KAT vector #128 ------------- */
{   0,  20,   4,  91, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x70,0x42,0x27,0xF1,0x2D,0xFF,0xC5,0x9A,0xB7,0xB0,0x75,0x23,0x6B,0x1A,0xE9,0x98}, /* nonce */
   {0x09,0x1A,0x5F,0x85}, /* aad */
   {0xB2,0x71,0xED,0x6E,0x03,0x7E,0x2F,0xF9,0x61,0x3C,0xE3,0xC8,0x6C,0xD5,0xEF,0x6B,
    0x04,0xA4,0x6E,0x4F}, /* pText */
   {0x98,0xCE,0x38,0xC8,0x62,0x43,0x37,0x26,0x89,0x71,0xF2,0xEC,0x54,0x5C,0x6F,0x26,
    0x8F,0x5C,0x03,0xCD}, /* cText */
   {0xC2,0xC4,0x04,0x20,0x30,0xED,0x12,0x2F,0xDE,0xB1,0x32,0xF2}  ,/* mac */


/* ---------- KAT vector #129 ------------- */
{   0,  19,  21,  51, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x40,0xA3,0x4C,0x32,0x3F,0x54,0xDA,0x52,0x41,0xA5,0x83,0xCC,0xDF,0xF9,0xF1,0x99}, /* nonce */
   {0x7C,0xA2,0x30,0xA3,0x57,0x8E,0xE6,0xBB,0x1D,0x2F,0xB4,0x47,0x81,0x17,0xF3,0x9E,
    0xE9,0x8C,0x90,0x9A,0x1B}, /* aad */
   {0xC2,0xD4,0x8C,0xE6,0xAD,0xDB,0xD1,0x5E,0xBB,0xDB,0x90,0xA0,0xAF,0x6C,0x62,0x76,
    0xF5,0x7B,0x90}, /* pText */
   {0xA8,0xB5,0x72,0x30,0x5D,0xF9,0x6E,0x4D,0x3D,0xCF,0x22,0x6B,0x3D,0x33,0xB6,0x0D,
    0x4F,0x3A,0x26}, /* cText */
   {0x9C,0xC4,0x74,0xCD,0xE8,0xAE,0x23}  ,/* mac */


/* ---------- KAT vector #130 ------------- */
{   0,  18,  16,  15, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x85,0x97,0x4C,0x25,0x72,0xEA,0x72,0x54,0x82,0x8E,0x04,0x1E,0x00,0x7D,0xF3,0xA8}, /* nonce */
   {0xE5,0x92,0xE3,0x48,0xDC,0x28,0xEF,0xA6,0xC6,0x0B,0x53,0xFD,0x69,0x46,0x2E,0x83}, /* aad */
   {0x68,0xCB,0x8E,0xD9,0x49,0xFD,0x01,0x97,0xF6,0x5F,0xAC,0x64,0x74,0xEF,0x4E,0x0C,
    0xA0,0x96}, /* pText */
   {0xDE,0x52,0x58,0x12,0x5B,0x76,0xA4,0x76,0xB1,0x49,0xDF,0x0E,0xB7,0xE4,0x44,0x6F,
    0x6A,0xB6}, /* cText */
   {0x42,0xD4}  ,/* mac */


/* ---------- KAT vector #131 ------------- */
{   0,  17,  16,  50, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0xA5,0xD1,0xBF,0x4A,0xD7,0xAA,0xCC,0xC0,0x13,0x07,0x1A,0x06,0xE8,0x4A,0xE2,0x10}, /* nonce */
   {0xFD,0xF0,0x68,0xBE,0x9F,0xF6,0x19,0x45,0xCE,0x50,0x7E,0x6A,0x3F,0x29,0xD1,0x41}, /* aad */
   {0xBC,0x0E,0x66,0xF9,0xC1,0x98,0x0F,0x79,0xD6,0x0A,0x61,0x64,0x2C,0x88,0xF1,0x90,
    0xD2}, /* pText */
   {0x06,0xC7,0x2E,0x09,0x66,0xD2,0x20,0x88,0x5F,0xAB,0x6F,0xCF,0x9D,0x38,0x07,0x7A,
    0x4E}, /* cText */
   {0xD6,0x29,0xAC,0x85,0x70,0x07,0xED}  ,/* mac */

/**************************************************************
 **** Phelix internal state (for debugging)
 **************************************************************
SetupKey:  keySize = 0 bits. MAC tag = 50 bits.
  Raw Key = 
KeyMixing:
X.8  =00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
X.7  =00000000 00000000 00000000 00000000 5488A087 80408022 452FA953 26521D20 
X.6  =06A151CA A7A563AB 85C7CF35 B8ED5ED0 5488A087 80408022 452FA953 26521D20 
X.5  =06A151CA A7A563AB 85C7CF35 B8ED5ED0 C4EDDFAE E38DE6DE 11DCDCA3 519FDEDD 
X.4  =8B50D678 D6B5CA01 BD675155 E216C6C3 C4EDDFAE E38DE6DE 11DCDCA3 519FDEDD 
X.3  =8B50D678 D6B5CA01 BD675155 E216C6C3 9D0A577E E4FE4990 D261363E 66B7FC0B 
X.2  =1CEA3BA1 08DDFB1C AF44C727 F2FB3FEB 9D0A577E E4FE4990 D261363E 66B7FC0B 
X.1  =1CEA3BA1 08DDFB1C AF44C727 F2FB3FEB 7D57DAE3 641B7CEF 387C78AF DEE3EFDC 
X.0  =326E3BA9 6C4F23BC 820F6C32 41A2FF74 7D57DAE3 641B7CEF 387C78AF DEE3EFDC 
**********
Phelix_C_Encrypt:  msgLen = 17. aadLen = 16.
SetupNonce: keySize  = 0 bits.  MAC tag = 50 bits.
  Nonce=
  A5 D1 BF 4A D7 AA CC C0 13 07 1A 06 E8 4A E2 10
Working key schedule:
X_i_0=326E3BA9 6C4F23BC 820F6C32 41A2FF74 7D57DAE3 641B7CEF 387C78AF DEE3EFDC 
X_i_1=C817AC88 24E859C6 3E967FC2 EFC63AC4 E7AE6A04 AB82AAE6 7BF56521 30C0B48F 

Z.-8 =0B1D2ED1 BD9B7034 62017BFC 289E3247 DEE3EFDC.

Z.-7a=76C23067 FD804271 35C8A374 855CF45F 0B77E2C3.  OldZ       = 7FFDE000.     X_i_0 = 326E3BA9.
Z.-7b=06FC1090 BD0597B7 DA347C7E D84EDDC9 0A89C28D.                          plainText= 00000000.
Z.-7c=95DCB3BE 3D69131E 244E0AFD A96BB663 1F93A5AC.                             X_i_1 = C817AC88.
Z.-7 =155E45FD D5B59117 15BB8A41 0D55A44A 7C185FA0.                       

Z.-6a=67D48E45 37C2DD47 C00C6E10 83E8F61D 780090C5.  OldZ       = 7FFDE000.     X_i_0 = 6C4F23BC.
Z.-6b=79C97EC9 126C127E FF20B58A B0BC8B09 45E1AAAC.                          plainText= 00000000.
Z.-6c=0C13A455 36F4A961 78B1AB4D 1DC96574 2E327FAD.                             X_i_1 = 24E859C6.
Z.-6 =B6E4EA21 36B660C6 EA78D778 20393029 88A6637D.                       

Z.-5a=3C3495AE 73110EFD 9A647ACD 2748545F 387819F8.  OldZ       = 00000000.     X_i_0 = 820F6C32.
Z.-5b=53F95635 48B82A5B F8FA0185 153B2C1C 2CF8D703.                          plainText= 00000000.
Z.-5c=6904A2D2 C40579D6 07A9239D E3BF0BC3 98287582.                             X_i_1 = 3E967FC2.
Z.-5 =9554B512 6862A2E1 5F499E4A 551CCF44 5C4A1FF7.                       

Z.-4a=E308ADD4 B30B6312 34396A70 A30EE856 A3F0AE5B.  OldZ       = 77D53A05.     X_i_0 = 41A2FF74.
Z.-4b=A1E07B94 DE6A4887 7E5691C7 B9BF875E 2E39C0F0.                          plainText= 00000000.
Z.-4c=4005E4B7 9025DC32 266A4BED CF0B55A8 065306B6.                             X_i_1 = EFC63AC4.
Z.-4 =4D8FED47 B6D424B3 A7D818A4 CA39AFEE 45E8000F.                       

Z.-3a=933A6A2F F0930BF2 0B236023 2B4B41DE CE9D5591.  OldZ       = 7C185FA0.     X_i_0 = 7D57DAE3.
Z.-3b=6EE3B997 72F319F0 D79AE228 C8E12EDA EC0EEEC2.                          plainText= 00000000.
Z.-3c=89D0E26F 0822C97C 14B3C0BC C86F6CC2 66362836.                             X_i_1 = E7AE6A04.
Z.-3 =4A539CD3 A70A5370 D01EAC29 2030BC7A 8B8639A7.                       

Z.-2a=08B29AD5 42345CCA EAC97535 6CAD9D0F 09B201D7.  OldZ       = 88A6637D.     X_i_0 = 641B7CEF.
Z.-2b=32BD87B8 32E8EA5C 689F0C18 26B1C460 837E1956.                          plainText= 00000000.
Z.-2c=DE9830B2 9C0ECAD9 800063E0 545710EA DEF73C32.                             X_i_1 = AB82AAE6.
Z.-2 =B6721418 CFB75A17 283DE8F4 D80FBB25 46C7B499.                       

Z.-1a=039E7B1D FC3AC059 4F934D78 CBEDE2B7 D949B732.  OldZ       = 5C4A1FF7.     X_i_0 = 387C78AF.
Z.-1b=07B07F42 9BBB592B F0EDBE6A 186EF018 616136DA.                          plainText= 00000000.
Z.-1c=3EDEB440 724017F4 A261A1E5 85109C32 85B5939D.                             X_i_1 = 7BF56521.
Z.-1 =5193FD8B AC234FBF 474ADFDC 9939AB75 5049E648.                       

Z.00a=9B5201D5 B4D81FF1 EDB95B0E 29D7FA9B 3E280AA8.  OldZ       = 45E8000F.     X_i_0 = DEE3EFDC.
Z.00b=BA293E9E 80AACC57 3468D610 556613FF 80F64175.                          plainText= 00000000.
Z.00c=1EA53A1F 84373006 091A77CF 085EA77F 26E9710F.                             X_i_1 = 30C0B48F.
Z.00 =60A27BA6 F2084D16 1A9BBB26 64F5EAE8 1EF53904.                       

**********PHASE_AAD (16 bytes):
Z.01a=30CD1D8B 206701DF BB51BE07 82BC2BBA E741C81A.  OldZ       = 8B8639A7.     X_i_0 = 326E3BA9.
Z.01b=AE885E77 364E2E39 27271DE8 67D5D4B3 783A6407.  Keystream  = 03C09DAE.  plainText= BE68F0FD.
Z.01c=8B058B10 224902BA 3E5B5EC5 44D121AA BE5313F5.                            X_i_1  = C817AC88.
Z.01 =52A87ED4 D08A7CE0 C9147DF8 2D4E59B9 A4361425.                         cipherText= BDA86D53.

Z.02a=EDB11AFF 024415D3 4AEB6DC5 581C07A2 022B119D.  OldZ       = 46C7B499.     X_i_0 = 6C4F23BC.
Z.02b=1A129DA3 78227003 98B3ECCE 96760636 16F63F23.  Keystream  = 5DBDF3BC.  plainText= 4519F69F.
Z.02c=051C99DB 62BC9A3C C504EA62 8C03E41D BB5F4F00.                            X_i_1  = 24E859C6.
Z.02 =437B5F0A 1EA9E6CF 5EB1D32F 3CE4CE43 931599F2.                         cipherText= 18A40523.

Z.03a=C05A9B00 FE0306C6 FCC5BDA3 D69E1EB3 C3F82995.  OldZ       = 5049E648.     X_i_0 = 820F6C32.
Z.03b=1E598F71 D97A99EF B799F112 33A2B6FF 908E77F7.  Keystream  = E0D85E3F.  plainText= 6A7E50CE.
Z.03c=6CEB44F0 244799A8 09619F5F 31768837 BED0A19F.                            X_i_1  = 3E967FC2.
Z.03 =CF31CE64 B9C1BCD4 C8FD8A44 66F4DA44 32741B88.                         cipherText= 8AA60EF1.

Z.04a=4D51506C D76173B0 45D9FDB6 8117EB26 0F400B23.  OldZ       = 1EF53904.     X_i_0 = 41A2FF74.
Z.04b=AF68FEBB 0BC49EC1 B8B7159A 7867735C D4A1D944.  Keystream  = F3971248.  plainText= 41D1293F.
Z.04c=3EB23DD2 99E01781 9908A350 59C84436 DB519036.                            X_i_1  = EFC63AC4.
Z.04 =2D7773C4 8C3DBA15 089CC4E2 D92398C4 22423D4D.                         cipherText= B2463B77.

**********PHASE_DATA:
Z.05a=3619100D A5543124 90D41C0F 854B399D A84C4CE4.  OldZ       = A4361425.     X_i_0 = 7D57DAE3.
Z.05b=48D34BA0 C3EE0068 B1C41398 6E6B4C27 4C12B595.  Keystream  = F048C9BA.  plainText= F9660EBC.
Z.05c=C11C77BF 02D7F440 3B46DC49 B61302C8 98BCC30E.                            X_i_1  = E7AE6A04.
Z.05 =B675CDD1 59BA74D3 047EF613 C7EFF800 004224A7.                         cipherText= 092EC706.

Z.06a=CB8BA2FC F265E967 6784F436 A5FCFA8D C81BB80B.  OldZ       = 931599F2.     X_i_0 = 641B7CEF.
Z.06b=580C193D F28B61D3 231936C5 A3FD900F 5E19B0B5.  Keystream  = F12F4AA7.  plainText= 790F98C1.
Z.06c=FC441665 944A2142 299C23CE 98A2C376 7CA3482F.                            X_i_1  = AB82AAE6.
Z.06 =80CB8617 4B4B6F47 3FB37B5C 8F121A4A 88F8744E.                         cipherText= 8820D266.

Z.07a=BB40C21F 0F8E5751 B67A60DD D966A41C CD80CC25.  OldZ       = 32741B88.     X_i_0 = 387C78AF.
Z.07b=ED4AAA3D 74DBA610 23C7F62C F868447B 789A8601.  Keystream  = AB0EA189.  plainText= 64610AD6.
Z.07c=A7F1D512 D8B047B5 1D8D5528 CF4BD025 AD8543D2.                            X_i_1  = 7BF56521.
Z.07 =046ECB0E A8233BA9 47C6ADC1 E907F870 A24460DE.                         cipherText= CF6FAB5F.

Z.08a=ED86FDDA 9E721D29 DD7F5560 B65FE804 67F4F780.  OldZ       = 22423D4D.     X_i_0 = DEE3EFDC.
Z.08b=A3A78C52 37554FCC C88FF34A 271EE4AA C8B47364.  Keystream  = EAF6B0B1.  plainText= 90F1882C.
Z.08c=2DF1B0B7 270CC000 17252632 725CD0BF 5CAA7478.                            X_i_1  = 30C0B48F.
Z.08 =5EA8EEC3 35A3C3DD C22B8394 583DE8A7 E89E5789.                         cipherText= 7A07389D.

**********PHASE_ODD_BYTES:
Z.09a=CDAED56D 086D9879 A9FCE99A EA11B778 889E91AD.  OldZ       = 004224A7.     X_i_0 = 326E3BA9.
Z.09b=64CD1D12 984EA407 79C1FCCF BB7777B2 A9FBBEF5.  Keystream  = AA3DE39C.  plainText= 000000D2.
Z.09c=8928E440 298BF109 D17AB30A F9933F47 44D9603A.                            X_i_1  = C817AC88.
Z.09 =F9F48820 94899B6A 3F985523 6BB76104 35FB8A32.                         cipherText= AA3DE34E.

**********PHASE_MAC_GEN:
Z.10a=20FBABA9 1496332A 51EDD610 7A071057 2F74200A.  OldZ       = 88F8744E.     X_i_0 = 6C4F23BC.
Z.10b=FBAC6AD9 109901DF 136EB943 1A63D735 9C9A3024.  Keystream  = 2592A472.  plainText= 00000001.
Z.10c=20841A2C CCC80EB4 F69C0AFD 46A9BF32 4EB82FAE.                            X_i_1  = 24E859C6.
Z.10 =3254B160 8108D413 3641C448 141A90E6 4447C7F5.                         cipherText= 2592A473.

Z.11a=DE848C8C 42702315 0C1CE05D 8D239605 5AB7159D.  OldZ       = A24460DE.     X_i_0 = 820F6C32.
Z.11b=EBBD1B78 39B440C6 BA8DE31B 7C101C09 3F67C44E.  Keystream  = E1AC252C.  plainText= 00000001.
Z.11c=9A6F00CF 701451E4 A937BA81 7718BB1C 79BFA423.                            X_i_1  = 3E967FC2.
Z.11 =A3F2FC03 5FAE384D 1EFE981B 2772248E 2C739BF7.                         cipherText= E1AC252D.

Z.12a=CA412396 87511230 7115AB37 9E66C7FD C3F49FC1.  OldZ       = E89E5789.     X_i_0 = 41A2FF74.
Z.12b=4E72A48E 2C6F8A25 6BD203D3 AC3F3FF0 08A6A860.  Keystream  = F144FFE9.  plainText= 00000001.
Z.12c=63C8FFF5 58CA14D4 CF5922C7 AAEE649A 517534FC.                            X_i_1  = EFC63AC4.
Z.12 =084F97C6 F901404D 1AB06979 B47AB94E 6E4A0965.                         cipherText= F144FFE8.

Z.13a=94A22979 2D26C99D 70DB4CF4 3BEC138F 7156CC7F.  OldZ       = 35FB8A32.     X_i_0 = 7D57DAE3.
Z.13b=70B2DE1C 802F12E3 D7A27FF3 2B6B0AC5 4732FDD5.  Keystream  = 7D2E8807.  plainText= 00000001.
Z.13c=3BD1C138 8842E31D 2E26977F 4200850D F64DFD0E.                            X_i_1  = E7AE6A04.
Z.13 =E1D127F2 78F09BF0 14B8B388 CE8F3F56 FF041B55.                         cipherText= 7D2E8806.

Z.14a=C0CE9160 D2DD15DF A98149B1 E85FD002 50D6DCF6.  OldZ       = 4447C7F5.     X_i_0 = 641B7CEF.
Z.14b=D918CB5D 5E494C10 C6E4E846 3C23BD29 EDA9ED58.  Keystream  = 31F1B54D.  plainText= 00000001.
Z.14c=79110A2A CCE5A12F C187A7B0 9567A779 85B3B49D.                            X_i_1  = AB82AAE6.
Z.14 =85E39FB5 B0AD924A 706001DF AEAFFF90 8D10B0B8.                         cipherText= 31F1B54C.

Z.15a=273E8A69 F90C08F6 3D3489E7 C2761455 B60DBFFB.  OldZ       = 2C739BF7.     X_i_0 = 387C78AF.
Z.15b=76DDDCC0 0DB86A78 60122A83 BF9F3C22 ACFFE795.  Keystream  = D973838C.  plainText= 00000001.
Z.15c=FA31C66C E14836EA 64C0ACDE 24A90DC2 81C9322F.                            X_i_1  = 7BF56521.
Z.15 =4955AAFB 08262B04 EE0C2E77 E9AB4835 9935914A.                         cipherText= D973838D.

Z.16a=01E66066 6EF13A85 BA8FBA19 0541489B 723F4869.  OldZ       = 6E4A0965.     X_i_0 = DEE3EFDC.
Z.16b=811E5C35 739760E6 0A624554 DE1EC512 495E3C6D.  Keystream  = B7A845D2.  plainText= 00000001.
Z.16c=7A4290BE D6754EF3 C838AABE DE7CF25C 2FF22094.                            X_i_1  = 30C0B48F.
Z.16 =7BC757F3 3B733FCC B6FC4F47 3126AAFE 79A56784.                         cipherText= B7A845D3.

Z.17a=DC05E359 629D42D4 9B6C3424 E067BFC3 23059885.  OldZ       = FF041B55.     X_i_0 = 326E3BA9.
Z.17b=835CED01 C6D28A0C 47898B2D 39B2CA41 D92CE839.  Keystream  = D831038E.  plainText= 00000001.
Z.17c=1F6E837A FDC9167F 78D9F50C FADFEE9C 6E38963C.                            X_i_1  = C817AC88.
Z.17 =846DD991 8C021C9F CE61AA4A D2A97BEA 44B48095.                         cipherText= D831038F.

Z.18a=2EAAF6AE DA74D342 FE6332ED 6D43F460 C4006832.  OldZ       = 8D10B0B8.     X_i_0 = 6C4F23BC.
Z.18b=EB2F739E A5DB80F3 B3A433FE 39C5B888 F89B791F.  Keystream  = 85AC29D7.  plainText= 00000001.
Z.18c=EA584E49 DBE84A79 3FB32EA2 4232E6F0 D74256CB.                            X_i_1  = 24E859C6.
Z.18 =E868D430 50E59065 9EC7A519 1D36D66E 862F47C0.                         cipherText= 85AC29D6.

Z.19a=3F553C0B 5360975C 1F0F36B0 BC23D6BE 1C646E16.  OldZ       = 9935914A.     X_i_0 = 820F6C32.
Z.19b=EFB01667 27CA5278 0EB6B564 FE0DEEF9 ADB77627.  Keystream  = 46ED0771.  plainText= 00000001.
Z.19c=7C0ABFDB 07227F56 6077C611 22FD3799 32641F27.                            X_i_1  = 3E967FC2.
Z.19 =8AE1D990 330389AA C219D7EF 7E05AE57 FDF428F3.                         cipherText= 46ED0770.

Z.20a=CF0FCE11 DECA74C3 A01195FC E7DC0D9F B2FA3859.  OldZ       = 79A56784.     X_i_0 = 41A2FF74.
Z.20b=302E670C 8264D361 D04B1FD0 66275001 C1896EA1.  Keystream  = 3B2ED625.  plainText= 00000001.
Z.20c=AB6E192C B908090F 51B88C3D EBEEF111 89A1BBB9.                            X_i_1  = EFC63AC4.
Z.20 =2DC70DB3 4D95B185 5277E338 ABA56EFA F5E48E2D.                         cipherText= 3B2ED624.

Z.21a=D8F95BB2 E8FEC90D 3F2B1637 F4076A60 E70768B1.  OldZ       = 44B48095.     X_i_0 = 7D57DAE3.
Z.21b=EF1A9A61 CD0DE07F 1A26A51D 4CFB7C54 05C709C8.  Keystream  = 4A7B8A5D.  plainText= 00000001.
Z.21c=2C2D6C78 53A91F4B 67564C61 6CFECC3A B63C41BE.                            X_i_1  = E7AE6A04.
Z.21 =A2278805 AAF7AF2C FAD4D07B 80D51203 57E17044.                         cipherText= 4A7B8A5C.

***************************************************************/


/* ---------- KAT vector #132 ------------- */
{   0,  16,   3, 112, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x93,0xA9,0x4B,0xDE,0x28,0xC8,0xFD,0xA2,0x8C,0xAB,0x1D,0x59,0xD5,0xEC,0xE0,0xED}, /* nonce */
   {0x5F,0xAC,0x0E}, /* aad */
   {0x44,0xF5,0x94,0x9F,0xC0,0xFC,0x36,0xD7,0x41,0x9F,0x1B,0x2D,0x8B,0xD8,0xB6,0xFF}, /* pText */
   {0x43,0x30,0x10,0xBB,0x08,0x4C,0x55,0x52,0x6C,0xC7,0x82,0xE6,0xD6,0xBC,0x24,0x77}, /* cText */
   {0x81,0xF7,0x2C,0x9D,0x04,0xBB,0xD2,0x18,0xAD,0x71,0xF2,0xD1,0x27,0xEB}  ,/* mac */


/* ---------- KAT vector #133 ------------- */
{   0,  15,  21,  12, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0xDA,0xF6,0x51,0x32,0xB8,0x60,0xB0,0xC4,0x12,0x15,0x72,0x4F,0xA2,0x57,0x0A,0xD6}, /* nonce */
   {0x0A,0xEC,0xBA,0xC6,0xE3,0xCA,0x20,0x4F,0x49,0xED,0x8E,0x30,0x3C,0xF7,0x75,0x6A,
    0x1B,0x9C,0xE4,0x55,0x98}, /* aad */
   {0x42,0xEA,0x85,0x24,0x97,0xDA,0xD1,0x2A,0x03,0x25,0xA3,0x71,0x7D,0x30,0x42}, /* pText */
   {0xE4,0x95,0x04,0x8E,0x3F,0x3B,0x82,0x6A,0x92,0x31,0xFC,0x4E,0x27,0x74,0x04}, /* cText */
   {0xCD,0x75}  ,/* mac */


/* ---------- KAT vector #134 ------------- */
{   0,  14,  15,  92, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0xE8,0x47,0xB2,0x40,0xEE,0x30,0xB0,0x23,0xFB,0x2B,0x57,0x65,0x78,0x8B,0x15,0x2D}, /* nonce */
   {0x87,0xAC,0x93,0x58,0x3D,0xED,0x85,0xC7,0x3E,0x0E,0xEF,0x48,0xE0,0x5C,0xFE}, /* aad */
   {0xD1,0x46,0x68,0x61,0xF9,0xED,0xE7,0xCE,0x56,0x82,0x6D,0x82,0x22,0x47}, /* pText */
   {0xE1,0x17,0x2C,0x16,0x21,0x53,0xA6,0xB6,0xA8,0xEA,0x06,0xBB,0x98,0xFA}, /* cText */
   {0x40,0x2B,0x3D,0xFE,0x80,0x8A,0x72,0x3C,0x4C,0x55,0xA3,0x48}  ,/* mac */


/* ---------- KAT vector #135 ------------- */
{   0,  13,  11, 120, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0xC4,0x86,0xF5,0x63,0x56,0x17,0x6B,0xAE,0x0B,0x48,0xBC,0x30,0x38,0xEF,0xE5,0x4A}, /* nonce */
   {0xE6,0x86,0xFA,0x4A,0xB6,0x7C,0x9C,0x31,0x8D,0xAC,0x34}, /* aad */
   {0xE9,0xBB,0x1C,0xB8,0x0C,0xBD,0x24,0x69,0x69,0x5F,0xDE,0x9D,0x83}, /* pText */
   {0xAF,0xC6,0xCC,0x21,0x84,0x7C,0x25,0x07,0x5C,0x8C,0x86,0x26,0xED}, /* cText */
   {0x8D,0x4E,0x47,0x19,0x47,0x21,0x77,0x87,0x68,0x60,0x78,0x6F,0x38,0x7B,0x40}  ,/* mac */


/* ---------- KAT vector #136 ------------- */
{   0,  12,  12,  47, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x1B,0x3F,0xFF,0xF3,0x90,0xC6,0x01,0xBC,0x45,0x48,0x87,0x5D,0xEC,0x41,0xCF,0x68}, /* nonce */
   {0x38,0xBF,0xE1,0x74,0xCF,0x73,0x6D,0xC6,0x7E,0xCB,0x0D,0x65}, /* aad */
   {0x06,0x84,0x01,0xB7,0xCA,0xAC,0xB7,0xB8,0xEC,0x15,0xDE,0x96}, /* pText */
   {0xA0,0x1F,0x53,0x11,0xF5,0x3B,0x37,0x6B,0x3A,0xD3,0x05,0x17}, /* cText */
   {0x60,0xB2,0x44,0x2C,0x42,0xAC}  ,/* mac */


/* ---------- KAT vector #137 ------------- */
{   0,  11,  26,  30, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x0F,0x98,0xDC,0x6A,0xAC,0x02,0x98,0xFE,0xE4,0x49,0x4D,0x66,0x27,0xC5,0x24,0x95}, /* nonce */
   {0x25,0x35,0x8B,0x32,0xE3,0x29,0x2C,0x88,0xCD,0x4C,0x49,0x6E,0xFF,0xDF,0xC6,0xA9,
    0x1B,0x99,0xFB,0x68,0xFC,0x0A,0x48,0x9C,0x61,0xD8}, /* aad */
   {0x9E,0xFB,0x4A,0x8A,0xC2,0x73,0x57,0xF4,0x33,0x04,0x5C}, /* pText */
   {0x86,0x86,0x13,0xFD,0x16,0x5F,0xE3,0x31,0x6E,0x36,0x29}, /* cText */
   {0x4C,0x22,0xE2,0x9F}  ,/* mac */


/* ---------- KAT vector #138 ------------- */
{   0,  10,  22, 101, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x65,0xCD,0x0B,0x0A,0xB6,0xE4,0x3C,0xE1,0x49,0x93,0xCD,0x9A,0xCA,0xFF,0xA3,0x04}, /* nonce */
   {0x69,0xE2,0x93,0x63,0x7F,0xAC,0x22,0x1C,0x06,0x8C,0x7F,0xBB,0x40,0xC7,0xE5,0xA0,
    0xC9,0x12,0xB3,0x4A,0xCF,0x18}, /* aad */
   {0x09,0xA1,0x7B,0xF5,0x1B,0xC7,0xEF,0x0B,0x7F,0x41}, /* pText */
   {0x8A,0x68,0xAF,0x98,0x7C,0xD7,0x82,0x8B,0xE7,0xA1}, /* cText */
   {0x9A,0x28,0xE0,0x4A,0x5F,0x70,0xBF,0x80,0x76,0x0A,0xCE,0x22,0xB3}  ,/* mac */


/* ---------- KAT vector #139 ------------- */
{   0,   9,   9,  69, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x32,0x12,0x82,0x20,0xE2,0x84,0xD1,0x0D,0x27,0xC0,0xF4,0x8A,0x59,0x11,0x71,0x69}, /* nonce */
   {0x55,0x7F,0x3B,0xE2,0xD6,0xB9,0xB9,0x70,0x73}, /* aad */
   {0x28,0xE2,0x03,0xC1,0xEB,0x40,0xFC,0x4F,0x7F}, /* pText */
   {0x5A,0x81,0x50,0xF3,0xFD,0x6E,0x9F,0xF3,0xAF}, /* cText */
   {0x12,0x1E,0xE5,0x8C,0x59,0xF5,0xF5,0xA9,0xE4}  ,/* mac */


/* ---------- KAT vector #140 ------------- */
{   0,   8,  30,  74, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0xCA,0xEA,0x29,0xAD,0xF4,0xDC,0x51,0xF2,0x63,0xFA,0x9E,0x1B,0xF0,0x0B,0x2E,0xA2}, /* nonce */
   {0x6F,0x0E,0x10,0xAE,0x41,0xC7,0xD2,0xCC,0xC2,0x60,0xDF,0xCA,0x76,0xBA,0xA6,0x88,
    0xF4,0x94,0x23,0x09,0xED,0xBD,0xB8,0xFB,0x42,0xC0,0x33,0x16,0x44,0xFB}, /* aad */
   {0xBD,0xD9,0x0D,0x86,0x9C,0x3F,0x06,0xC0}, /* pText */
   {0x1F,0xB8,0x69,0x3C,0xED,0x0D,0x71,0x07}, /* cText */
   {0x21,0x55,0x83,0xA3,0xB2,0x4E,0x8A,0x76,0x63,0x2E}  ,/* mac */


/* ---------- KAT vector #141 ------------- */
{   0,   7,  18, 125, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x35,0x80,0x30,0x9B,0x84,0xA7,0xB1,0x4F,0x6B,0xD1,0x3E,0xE9,0x9C,0x35,0x79,0x9B}, /* nonce */
   {0x08,0x1F,0x76,0x46,0x64,0x44,0xCA,0x45,0x3B,0x56,0xF8,0xFC,0xE7,0x65,0x81,0x11,
    0x8F,0x71}, /* aad */
   {0x6E,0x08,0x35,0x37,0xDA,0xFB,0x62}, /* pText */
   {0xD9,0x0A,0xB0,0x06,0xD8,0x79,0x85}, /* cText */
   {0xF9,0xD3,0x7E,0x47,0xE5,0xFC,0x31,0x32,0x20,0x9F,0x1E,0x2B,0x2B,0xE7,0x5A,0x74}  ,/* mac */


/* ---------- KAT vector #142 ------------- */
{   0,   6,  27, 117, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x72,0xE9,0x93,0xEC,0x35,0x5F,0x37,0x6B,0xD1,0xD4,0x7B,0x30,0x4B,0xD5,0x54,0x40}, /* nonce */
   {0xC7,0x1C,0x8E,0x27,0x81,0xB8,0x09,0x41,0xED,0x94,0x09,0x52,0xB4,0x45,0xAA,0x0E,
    0xB0,0x44,0xCE,0xC9,0xC5,0x59,0xA7,0xBA,0x8D,0xC3,0xC3}, /* aad */
   {0x57,0xEA,0x62,0x81,0x8C,0x6C}, /* pText */
   {0x64,0x32,0x80,0xEE,0x61,0x4A}, /* cText */
   {0xD0,0x0F,0x61,0xFC,0xD9,0x12,0x68,0x3F,0x75,0x5C,0xC1,0x7F,0x29,0x75,0x5C}  ,/* mac */


/* ---------- KAT vector #143 ------------- */
{   0,   5,  10,  91, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x16,0xB9,0x02,0xC0,0x7A,0x2A,0x4C,0x07,0x6C,0xA7,0xD8,0x5F,0x33,0x0D,0x86,0xA9}, /* nonce */
   {0x17,0x90,0x07,0x3C,0xBF,0xF3,0xFE,0x30,0x32,0x22}, /* aad */
   {0x2D,0x5B,0x39,0x36,0x34}, /* pText */
   {0x75,0xE0,0x38,0x04,0xA9}, /* cText */
   {0x27,0x45,0xC8,0x31,0xD7,0xFD,0x12,0x85,0x47,0x1C,0x00,0x0F}  ,/* mac */


/* ---------- KAT vector #144 ------------- */
{   0,   4,  12, 100, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x24,0x22,0xB9,0xA5,0x8D,0x68,0xC5,0x83,0x38,0x8F,0xC6,0x53,0x2E,0x2B,0x22,0xDF}, /* nonce */
   {0x42,0xC0,0xDF,0x4E,0x36,0x01,0x8C,0x9E,0x51,0x3F,0x14,0x46}, /* aad */
   {0x40,0x3A,0x20,0xFB}, /* pText */
   {0xEF,0x38,0x9C,0xF9}, /* cText */
   {0x88,0xFE,0xAE,0x6D,0xC0,0x4F,0x84,0x38,0x1E,0xBE,0x1B,0x0C,0x8B}  ,/* mac */


/* ---------- KAT vector #145 ------------- */
{   0,   3,  30,  31, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x30,0xB9,0x1F,0xB4,0x09,0x18,0x8B,0x6E,0xB0,0x4B,0x0C,0xDF,0x03,0x4E,0x12,0x64}, /* nonce */
   {0x4C,0x1E,0x62,0xD3,0x9F,0x3D,0x2C,0xB9,0x6F,0x6B,0xDC,0xF5,0x16,0xB3,0xEE,0xEF,
    0x6F,0x66,0x8F,0x8E,0x4B,0xFC,0x98,0x43,0xA8,0x28,0x93,0xD6,0x3C,0x23}, /* aad */
   {0xC6,0xBE,0xD3}, /* pText */
   {0xC1,0x45,0xFF}, /* cText */
   {0x88,0x68,0x91,0xE7}  ,/* mac */


/* ---------- KAT vector #146 ------------- */
{   0,   2,   2,   1, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x38,0x1E,0xA7,0x1A,0xBE,0xBD,0xB8,0x0F,0xF5,0xDE,0x61,0x94,0x3D,0x08,0x9F,0xDA}, /* nonce */
   {0xAE,0x9C}, /* aad */
   {0x7B,0xB2}, /* pText */
   {0x82,0xE0}, /* cText */
   {0xE4}  ,/* mac */


/* ---------- KAT vector #147 ------------- */
{   0,   1,   0,  59, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0xB1,0xA0,0xFC,0x44,0x1D,0x85,0x93,0xC2,0x9F,0x70,0x38,0x61,0x17,0xEC,0xE2,0x06}, /* nonce */
   {0x00}, /* aad */
   {0x60}, /* pText */
   {0x97}, /* cText */
   {0x94,0x97,0x7A,0xF2,0x9A,0x8E,0x8B,0xAB}  ,/* mac */


/* ---------- KAT vector #148 ------------- */
{   0,   0,   6,  21, 128,  },/* keySize, msgLen, aadLen, macSize, nonceSize */
   {0x00}, /* key */
   {0x0D,0xF0,0x0F,0x4B,0x5D,0xDF,0x86,0x90,0xB8,0xAB,0x8E,0xC9,0x15,0x19,0x0B,0xFE}, /* nonce */
   {0x83,0x19,0xEC,0x94,0x80,0x0F}, /* aad */
   {0x00}, /* pText */
   {0x00}, /* cText */
   {0xA5,0xC5,0xE1}  ,/* mac */
}
;
}
}
